应用程序关闭时,Android会保留BroadcastReceiver

时间:2014-03-09 15:06:37

标签: android broadcastreceiver android-service background-process android-broadcast

每次电池电量为50%时,我都会使用ACTION_BATTERY_CHANGED的BroadcastReceiver来获取事件。我无法在清单中声明ACTION_BATTERY_CHANGED,因此我在服务中声明了BroadcastReceiver(START_STICKY)。

但是,当我从最近的应用程序屏幕中删除应用程序时,BroadcastReceiver会停止获取电池更换事件。 如何将其保留在后台?

*在许多在状态栏中显示电池百分比的应用中,百分比会在应用关闭时更新。怎么样?

1 个答案:

答案 0 :(得分:2)

你真的不能做你想做的事。没有办法让您的应用程序永远运行,并且您只能在应用程序运行的地方捕获ACTION_BATTERY_ *。

虽然广播是粘性的,但您可以做其他事情。设置闹钟(AlarmManager),以便定期唤醒您的应用程序。当您注册接收者时,Android会在您的应用未运行时提供广播的任何意图。