在模拟器中,如果我将power capacity
设置为与当前值不同的值,则会使用新值调用BroadcastReceiver
的{{1}}。 (我已在onReceive
注册。)
在真实设备中,电池在几天内放电100%到20%,我的ACTION_BATTERY_CHANGED
方法会被调用:
Re:可能重复的问题 - 我也担心处理程序不经常被调用。我也没有错误地在另一个广播接收器中注册广播接收器。
答案 0 :(得分:2)
似乎最常见的行为是发送80条消息,但有些设备会发送更多或更少的消息。这在真实设备之间变化很大,因此必须针对您将使用的特定设备进行基准测试,或者在一般情况下进行处理。
对于我使用过的大多数设备,ACTION_BATTERY_CHANGED
将在该方案中发送80次。 (插入和拔出设备时也会发送意图。)
但是,对于少数型号,每次电池温度变化时都会发送消息。这可能非常频繁地发生,具体取决于平板电脑正在进行多少处理。我是在记忆中工作,但我相信Verizon Ellipsis 7平板电脑就像这样。
答案 1 :(得分:1)
Android并不保证,例如。电池放电100%至80%之间,系统不保证每次放电一次电池会发送20次事件。考虑了许多参数。您可以找到简单的解释 here
如果您想跟踪电池放电情况,请及时汇集电池。来自系统的事件数量可能因设备而异。