Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
哪种解决方案更适合电池小部件。广播接收器或 AlarmManager 每 5 分钟触发一次?
这取决于您对“更好”的定义。
您无法ACTION_BATTERY_CHANGED从清单中注册广播,因此您必须始终运行一个服务来管理此广播的动态注册接收器。许多用户不喜欢这个。
ACTION_BATTERY_CHANGED
AlarmManager避免了对持续运行服务的需要,但这意味着您的应用小部件在发现电池电量变化时会有些滞后。但是,您可以允许用户通过 a 控制轮询频率,SharedPreference而不是将其硬编码为五分钟。这样,用户就可以控制您的应用程序从轮询中消耗了多少 CPU/电池,因此可以控制会有多少延迟。
AlarmManager
SharedPreference