如何接收Battery_Okay意图广播。我在清单中注册了Battery_Low和Battery_Okay意图的广播接收器。始终捕获Battery_Low意图,但Battery_Okay意图永远不会触发。我正在使用仿真器上的“Power Capacity”进行测试,以模拟电池状态的变化。事实上,我尝试了所有的意图列表here,但除了battery_Low之外,它们都没有。我错过了什么吗?
我的清单文件广播接收器注册看起来像这样
<receiver android:name="com.myco.library.myproduct.BatteryLowBroadcastReceiver" >
<intent-filter android:priority="999">
<action android:name="android.intent.action.BATTERY_LOW" />
</intent-filter>
</receiver>
<receiver android:name="com.myco.library.myproduct.BatteryOkayBroadcastReceiver" >
<intent-filter android:priority="999">
<action android:name="android.intent.action.BATTERY_OKAY" />
</intent-filter>
</receiver>
我也在清单文件中尝试了这个
<receiver android:name="com.myco.library.myproduct.BatteryLowBroadcastReceiver" >
<intent-filter android:priority="999">
<action android:name="android.intent.action.BATTERY_LOW" />
<action android:name="android.intent.action.BATTERY_OKAY" />
</intent-filter>
</receiver>
答案 0 :(得分:2)
我终于发现了Battery_Okay意图无效的原因。我实际上是在libraby项目清单中编写代码。我忘了在app项目的Manifest中添加相同的条目,导致它无法正确注册。 Battery_low意图之前已经注册,因此正在运作。
我还发现Battery_Okay广播可能会在达到低电平状态后在任何电池电量下发射,但设备必须为该广播发射充电。如果设备没有充电,广播就好了。