首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓BroadcastReceiver与深度睡眠

安卓BroadcastReceiver与深度睡眠
EN

Stack Overflow用户
提问于 2013-05-04 21:27:20
回答 1查看 4.1K关注 0票数 1

安卓能否在BroadcastRceiver中处理广播时进入深度睡眠状态?是否需要在BroadcastReceiver onReceive方法中尽早创建部分唤醒,还是可以在onReceive方法中的任何地方创建(并传递给服务)?

AlarmManager文档声明The Alarm Manager holds a CPU wake lock as long as the alarm receiver's onReceive() method is executing. This guarantees that the phone will not sleep until you have finished handling the broadcast.,但是其他广播呢?或者这仅仅取决于广播的发送方?

EN

回答 1

Stack Overflow用户

发布于 2013-05-04 21:49:15

安卓能否在BroadcastRceiver中处理广播时进入深度睡眠状态?

一般来说,是的。一个值得注意的例外是,如果BroadcastReceiver是由AlarmManagergetBroadcast() PendingIntent触发的。

是否需要在BroadcastReceiver onReceive方法中尽早创建部分唤醒,还是可以在onReceive方法中的任何地方创建(并传递给服务)?

嗯,您不能很容易地将一个WakeLock传递给一个服务,这就是我编写WakefulIntentService的原因。

但是其他广播呢?或者这仅仅取决于广播的发送方?

除了前面提到的Intent场景之外,我不知道任何其他自动保存WakeLock的广播AlarmManager。其中一个可能是SMS_RECEIVED,因为收到的短信也可以唤醒设备。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16379128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档