battery_changed有什么好处?广播接收器,服务或intentService?

时间:2018-05-22 21:27:13

标签: android service broadcastreceiver intentservice

如果手机正在充电,我希望我的应用知道电池百分比的变化。

所以我使用BroadcastReceiverACTION_POWER_CONNECTEDACTION_POWER_DISCONNECTED在手机充电时使用BroadcastReceiver注册另一个ACTION_BATTERY_CHANGED,然后我想“不会”如果我使用Service会更好吗?“

然后我搜索了Service,我看到了IntentService,所以现在我想知道ACTION_POWER_CONNECTEDACTION_POWER_DISCONNECTED的哪个更好,{{1}更好}}?

我认为ACTION_BATTERY_CHANGEDBroadcastReceiver使用ACTION_POWER_CONNECTEDACTION_POWER_DISCONNECTED使用IntentService,我错了吗?

我希望ACTION_BATTERY_CHANGEDACTION_POWER_CONNECTED始终如一地运行(除非我找到更好的方式),并在手机充电时运行ACTION_POWER_DISCONNECTED

1 个答案:

答案 0 :(得分:0)

BroadcastReceivers和服务是两回事

广播接收器旨在收听某些事件并对其执行操作,同时使用服务在后台执行某些任务(无活动),例如在后台服务中播放音乐

Intent服务是在服务之上设计的,用于在单独的线程上执行的长时间运行的任务

在您的场景中,最佳答案是使用广播接收器。每次都会调用它,并且在执行完与服务不同的任务后无需关闭它