在后台运行BroadcastReceiver,何时设备正在运行?

Moh*_*nde 0 java service android broadcastreceiver

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

Com*_*are 8

我有一个简单的BroadcastReceiver设置为当用户收到传入的短信时做某事.

好.

但我需要它在后台运行,当设备处于睡眠状态时.

并不是的.

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

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

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

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

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

它不会.但是,传入的短信,如来电,将唤醒设备.