猿问

如何创建在打瞌睡模式和省电模式下都能工作的 PhoneStateListener?

当设备进入打盹模式或省电模式时,我的 PhoneStateListener 停止工作。我还需要在设备重启时注册 PhoneStateListener。我不想使用 BroadcastReceiver,因为不再推荐它,请参阅https://developer.android.com/about/versions/oreo/background#broadcasts


绝地无双
浏览 108回答 1
1回答

jeck猫

我不认为不推荐 BroadcastReceiver 在这一点上是正确的定义,它只是有更多的限制,例如在清单中和根据文档为隐式广播注册广播接收器:应用程序可以继续在其清单中注册显式广播应用程序可以Context.registerReceiver()在运行时使用来为任何广播注册接收器,无论是隐式的还是显式的。Doze 模式几乎没有限制,但它提供了一种在 Doze 模式和省电模式下触发警报的解决方案,使用AlarmManager:如果您需要设置在打瞌睡时触发的警报,请使用setAndAllowWhileIdle()或setExactAndAllowWhileIdle()。您应该了解setAndAllowWhileIdle和setExactAndAllowWhileIdle并决定哪一个与您相关。
随时随地看视频慕课网APP

相关分类

Java
我要回答