BroadcastReceiver在手机空闲时唤醒服务



我有一个长期运行的服务。当设备空闲并且CPU休眠时,服务将暂停。然而,当我声明静态(在清单中)BroadcastReceiver时,即使在睡眠时,手机也会执行onReceive()方法。

我想知道如何唤醒我的服务并从BroadcastReceiver向其传递一些信息。我是安卓系统开发的新手,所以对安卓系统中的IPC一无所知。

我读过关于绑定服务的文章,但我认为这不是我的情况,因为我需要在后台运行服务。

从BroadcastReceiver执行以下操作以启动MyService:

public void onReceive(Context context, Intent intent) {
...
Intent svc = new Intent(context, MyService.class);
svc.setAction("some_action");
context.startService(svc);

替换:

  • MyService:具有实际服务类名
  • "some_action":将一些操作传递给服务(a字符串)

最新更新