Battery_Okay广播接收器未按预期工作。如何在Android上捕获Battery_Okay Broadcast?

时间:2014-06-14 10:55:51

标签: android android-intent android-broadcast

如何接收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>

1 个答案:

答案 0 :(得分:2)

我终于发现了Battery_Okay意图无效的原因。我实际上是在libraby项目清单中编写代码。我忘了在app项目的Manifest中添加相同的条目,导致它无法正确注册。 Battery_low意图之前已经注册,因此正在运作。

我还发现Battery_Okay广播可能会在达到低电平状态后在任何电池电量下发射,但设备必须为该广播发射充电。如果设备没有充电,广播就好了。