Как получить трансляцию ACTION_POWER_CONNECTED на Android 8 - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь создать приложение, которое отображает некоторую информацию при подключении телефона к зарядному устройству в определенный период дня.

До Android Oreo это было легко, просто добавьте приемник Broadcast и добавьтеandroid.intent.action.ACTION_POWER_CONNECTED для intentfilter в манифесте.

Сейчас я пытаюсь найти работающее решение для создания той же функциональности.Я думал о периодической проверке состояния зарядки устройства, но это кажется неправильным и не сработает сразу при подключении устройства к зарядному устройству.

Регистрация приемника вещания из моего приложения также не работала, когда приложениезакрыто, трансляция больше не принимается.

Есть ли способ, позволяющий использовать аккумулятор, чтобы инициировать действие, когда устройство Android подключено к зарядному устройству в Android Oreo?

1 Ответ

0 голосов
/ 23 ноября 2018

Есть широковещательные сообщения , которые освобождены от ограничений на выполнение фона и для которых широковещательные приемники все еще могут быть зарегистрированы в манифесте.

Вы можете использовать ACTION_BOOT_COMPLETEDшироковещательная рассылка, чтобы запустить службу, которая регистрирует получателя для вашей трансляции ACTION_POWER_CONNECTED во время выполнения.(Служба должна быть приоритетной службой . В противном случае она может быть уничтожена.)

Другим решением было бы использование JobScheduler для создания задания, для которого требует оплаты ,Тогда вам не нужно обслуживание переднего плана.

...