0

哪种解决方案更适合电池小部件。广播接收器或 AlarmManager 每 5 分钟触发一次?

4

1 回答 1

0

这取决于您对“更好”的定义。

您无法ACTION_BATTERY_CHANGED从清单中注册广播,因此您必须始终运行一个服务来管理此广播的动态注册接收器。许多用户不喜欢这个。

AlarmManager避免了对持续运行服务的需要,但这意味着您的应用小部件在发现电池电量变化时会有些滞后。但是,您可以允许用户通过 a 控制轮询频率,SharedPreference而不是将其硬编码为五分钟。这样,用户就可以控制您的应用程序从轮询中消耗了多少 CPU/电池,因此可以控制会有多少延迟。

于 2013-08-13T00:15:39.257 回答