Как возобновить фоновый сервис, когда устройство Android 4.4 перешло в режим ожидания? - PullRequest
3 голосов
/ 20 января 2020

Было замечено, что когда устройство android 4.4 уходит в режим ожидания / ожидания , тогда фоновая служба приложения принудительно останавливается Android системой.

Я попробовал ниже вещи:

  1. Запущен сервис с START_STICKY
  2. Сделан сервис в качестве сервиса Foreground
  3. Используется менеджер работ

Но пока ничего не получалось. Пожалуйста, предложите, если какие-либо другие варианты могут быть проверены.

Ответы [ 2 ]

0 голосов
/ 20 января 2020

Вы пытались использовать в вашей фоновой службе блокировки пробуждения?

Из документации:

Если вам необходимо сохранить работоспособность ЦП, чтобы выполнить некоторую работу до того, как устройство перейдет в спящий режим, вы можете использовать функцию системного обслуживания PowerManager, которая называется wake. замки. Блокировки от пробуждения позволяют вашему приложению управлять состоянием питания хост-устройства.

Примечание: Использование пробуждений вызывает разрядку батареи, go в документации и использование альтернатив, таких как WorkManager, если эта работа может быть отложено.

Ссылки:

https://developer.android.com/training/scheduling/wakelock

https://developer.android.com/reference/android/os/PowerManager.WakeLock.html

0 голосов
/ 20 января 2020

Чтобы вывести ваше приложение на передний план, вы должны вызвать startActivity() из другого контекста (либо Service, либо BroadcastReceiver). Простой вызов startActivity() изнутри Activity не выведет ваше приложение на передний план.

Вам не нужны ACTION и CATEGORY в ваших Intent, но вам нужно установить Intent.FLAG_ACTIVITY_NEW_TASK.

...