我有一个长期运行的服务。当设备空闲并且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字符串)