注册一个ACTION_BATTERY_CHANGED广播接收器会消耗多少电量?

6

我计划编写一个应用程序,其唯一目的是监控电池电量,并在电量低于某个水平时启动意图。 我唯一的担忧是这本身会耗费电池电量,没有人想使用它。

所以我的问题是:使用ACTION_BATTERY_CHANGED广播接收器会消耗多少电量? 有人知道大约会影响多少电池寿命吗?


电池耗尽通常不是问题所在。问题在于你需要一个永久的服务,这不仅不切实际(Android最终会停止你的服务),而且一些用户对那些没有充分理由却一直运行服务的应用程序感到恼怒。 - CommonsWare
@CommonsWare 感谢您(非常!)迅速的回复。那么,有没有办法避免Android最终杀死服务的问题? - malfunction
1
您可以使用 startForeground() 的方法,以代替在状态栏中放置一个图标,但这会比一开始存在的服务更加烦扰用户。否则,只需从 onStartCommand() 返回您请求的重新启动规则,并且应对Android定期终止和稍后重新启动您的服务。 - CommonsWare
“究竟需要多少电量……?”这个问题无法回答。您是指实际毫安数吗?电池容量的百分比?无论哪种情况,由于电子设备的效率是可变的,因此这将因设备而异。 - Squonk
@MisterSquonk:我想我的措辞不是最好的。我只是想知道它是否会消耗大量电力的一般想法。 - malfunction
1个回答

5

我认为你不会消耗太多电力。这个广播只在电量变化1%时发送,

例如:85% -> 86%或76% -> 75%。

Android操作系统已经跟踪了电池电量(必须跟踪,以便在电量过低时关闭手机,约3-5%)。因此,仅订阅此广播甚至对用户来说也不会有任何影响(就电池性能而言)。


谢谢。知道这些很好,但看起来我的真正问题最终将是Android杀死服务。 - malfunction

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接