在后台运行广播接收器以及设备何时处于睡眠状态?

时间:2011-02-12 18:25:35

标签: java android service broadcastreceiver

我有一个简单的BroadcastReceiver设置,当用户收到传入的短信时做某事。但我需要它在后台运行,当设备处于睡眠状态时。那么我会使用启动Service的{​​{1}}吗?如果是这样,有人可以给我一些伪代码吗?如果设备处于睡眠状态,它将如何工作?

1 个答案:

答案 0 :(得分:8)

  

我有一个简单的BroadcastReceiver设置为在用户收到传入短信时执行某些操作。

行。

  

但我需要它在后台运行以及设备处于睡眠状态时。

不是。

  

那么我会使用启动BroadcastReceiver的服务吗?

没有。您的BroadcastReceiver应该在清单中,因此无论代码的其余部分是否正在运行,都可以调用它。这就是为什么我说“不是真的”“在后台运行” - 你不希望代码在后台运行。相反,你希望能够在任何时候接收广播,这就是把接收器放在清单中的原因。

  

如果是这样,有人可以给我一些伪代码吗?

https://github.com/commonsguy/cw-advandroid/tree/master/SMS/Monitor

  

如果设备处于睡眠状态,它将如何工作?

不会。但是,传入的短信(如来电)会唤醒设备。