如果手机正在充电,我希望我的应用知道电池百分比的变化。
所以我使用BroadcastReceiver
与ACTION_POWER_CONNECTED
和ACTION_POWER_DISCONNECTED
在手机充电时使用BroadcastReceiver
注册另一个ACTION_BATTERY_CHANGED
,然后我想“不会”如果我使用Service
会更好吗?“
然后我搜索了Service
,我看到了IntentService
,所以现在我想知道ACTION_POWER_CONNECTED
和ACTION_POWER_DISCONNECTED
的哪个更好,{{1}更好}}?
我认为ACTION_BATTERY_CHANGED
和BroadcastReceiver
使用ACTION_POWER_CONNECTED
,ACTION_POWER_DISCONNECTED
使用IntentService
,我错了吗?
我希望ACTION_BATTERY_CHANGED
和ACTION_POWER_CONNECTED
始终如一地运行(除非我找到更好的方式),并在手机充电时运行ACTION_POWER_DISCONNECTED
。
答案 0 :(得分:0)
BroadcastReceivers和服务是两回事
广播接收器旨在收听某些事件并对其执行操作,同时使用服务在后台执行某些任务(无活动),例如在后台服务中播放音乐
Intent服务是在服务之上设计的,用于在单独的线程上执行的长时间运行的任务
在您的场景中,最佳答案是使用广播接收器。每次都会调用它,并且在执行完与服务不同的任务后无需关闭它