Действительно ли мне нужна служба обновлений в фоновом режиме для прослушивания намерений ACTION_BATTERY_CHANGED?
Нельзя использовать зарегистрированный манифест BroadcastReceiver
для ACTION_BATTERY_CHANGED
.Он может быть зарегистрирован только действием или службой через registerReceiver()
.
Если у вас нет службы в памяти по другим причинам, лучше подойти к опросу.Установите AlarmManager
, чтобы периодически проверять уровень заряда батареи (настраивается, пожалуйста!).Чтобы проверить уровень заряда батареи, позвоните registerReceiver()
для ACTION_BATTERY_CHANGED
IntentFilter
без BroadcastReceiver
(null
для первого параметра).Это вернет последнюю трансляцию ACTION_BATTERY_CHANGED
Intent
, из которой вы можете получить самый последний уровень заряда.