BroadcastReceiver在电话空闲时唤醒服务

时间:2013-02-07 11:45:36

标签: android broadcastreceiver android-service

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

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

我读到了绑定服务,但我认为这不是我的情况,因为我需要服务才能在后台运行。

1 个答案:

答案 0 :(得分:1)

从您的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 字符串)