我有一个简单的BroadcastReceiver
设置,当用户收到传入的短信时做某事。但我需要它在后台运行,当设备处于睡眠状态时。那么我会使用启动Service
的{{1}}吗?如果是这样,有人可以给我一些伪代码吗?如果设备处于睡眠状态,它将如何工作?
答案 0 :(得分:8)
我有一个简单的BroadcastReceiver设置为在用户收到传入短信时执行某些操作。
行。
但我需要它在后台运行以及设备处于睡眠状态时。
不是。
那么我会使用启动BroadcastReceiver的服务吗?
没有。您的BroadcastReceiver
应该在清单中,因此无论代码的其余部分是否正在运行,都可以调用它。这就是为什么我说“不是真的”“在后台运行” - 你不希望代码在后台运行。相反,你希望能够在任何时候接收广播,这就是把接收器放在清单中的原因。
如果是这样,有人可以给我一些伪代码吗?
https://github.com/commonsguy/cw-advandroid/tree/master/SMS/Monitor
如果设备处于睡眠状态,它将如何工作?
不会。但是,传入的短信(如来电)会唤醒设备。