Я хочу, чтобы служба работала с определенным интервалом, но служба прекращает работу через некоторое время, когда приложение закрывается. Я знаю, что похожие вопросы задавали несколько раз, но ни один из них не смог ответить на то, что я ищу. Я пробовал следующие подходы
Диспетчер сигналов тревоги
Путем установки временного интервала для ожидающего намерения для широковещательного приемника, что в дальнейшем приводит к запуску службы. (Он продолжает работать до тех пор, пока приложение не будет запущено, но остановится, когда приложение будет убито.)
- Он продолжает работать в Android 6.0 в течение длительного времени, пока не будет убит с помощью очистителя приложений вручную.
- В android 8.0 + он убивается при закрытии приложения.
JobSchedular
Я также пробовал JobSchedular для запуска JobService , но он также завершается, когда приложение закрывается в Android 8.0+. Но он работает в течение длительного времени в android 6.0, пока я не запустил очиститель приложений, и он не будет убит.
Я признаю, что не рекомендуется поддерживать работу службы , поскольку это это потеря ресурсов устройства . Но если кто-то через некоторое время хочет синхронизировать данные c и генерировать уведомления локально, то что делать?
Я также пробовал облачные сообщения, которые также не получаются, когда приложение закрывается. Как упоминалось здесь . Различное поведение ОС, такое как Android ограничения фонового выполнения O, может помешать возможности завершить работу.
С другой стороны
Whats App и skype генерируют уведомления, даже если приложения закрыты и запущен очиститель приложений, но он не работает WhatsApp генератор уведомлений.
Какую логическую стратегию использовали эти приложения, чтобы ОС не убивала их процессы?
Я уже пробовал android:stopWithTask="false"
, но это не работает. И я не знаю, что запускать сервис на переднем плане тоже. Еще у меня прочитано . Я также попытался снова запустить службу по таймеру , когда процесс завершен . (Не работает)