在 Android 中以编程方式监控电池电量 - BroadcastReceiver 与 Handler

Monitoring Battery Level programmatically in Android - BroadcastReceiver vs Handler

我想知道,在 Android 中以编程方式监控电池电量的更有效方法是什么 - 使用持续监控电池电量的 BroadcastReciever,或每 10 分钟检查一次电池电量的处理程序通过使用 postDelayed 调用使用 Runnable?

我想在电池电量低于特定百分比时警告用户。哪种方式效率更高?

要检查设备的当前电池电量,您要使用 BraodcastReceiver 侦听 Intent.ACTION_BATTERY_CHANGED 事件。这样,您的接收器只会在电池电量确实发生变化的情况下才工作。

如果使用每 10 分钟检查一次电池电量的处理程序,则可以保证电池电量没有变化或电池电量变化太快(充电时)的情况,您会错过一些电池电量变化。 (与 BroadcastReceiver 相比这是一个明显的劣势)