В моем текущем приложении для компании у меня есть служба ForegroundService, которая работает, пока работники дежурят (вошли в приложение). Важно, чтобы эта служба переднего плана работала, когда пользователи вошли в систему. Чтобы восстановиться после случаев, когда эта служба переднего плана каким-либо образом отключается (случайное пролистывание задачи пользователя или уничтожение системы), я реализовал периодическую ЗАДАНИЕ с Jobscheduler, который повторно активирует ForegroundService в случае, если он получает неисправность. Этот метод хорошо работает до Android 8 OREO. START_STICKY и другие методы сами по себе не помогли мне.
В Android 8, как только служба переднего плана будет уничтожена, периодическое задание также будет уничтожено. Я получаю уведомление в logcat о том, что задание не разрешено запускать. Насколько я понимаю, Джобс должен работать, даже когда приложение находится в фоновом режиме или убито. И он работает на устройствах до OREO так, как должен.
Насколько мне известно, я могу исправить это, включив опцию «автозапуск» в настройках приложения. Но поскольку нет никакого способа узнать, включили ли это сотрудники, это также ненадежно.
Итак, мои вопросы: - Почему планировщик заданий перестает работать должным образом в Android 8? - Существуют ли какие-либо другие надежные методы, которые я мог бы использовать для восстановления ForegroundService после завершения работы в ANDROID OREO?
Я прочитал https://medium.com/exploring-android/exploring-background-execution-limits-on-android-oreo-ab384762a66c, но это не ответило на мои вопросы
Большое тебе спасибо