Я использую WorkManager
и PeriodicWorkRequest
, чтобы запустить текущее уведомление и периодически обновлять его данными, полученными Volley
. Он должен продолжать работать, даже если приложение закрыто, и должен перезапускаться, если пользователь перезагружает устройство.
Есть две большие проблемы с WorkManager
- Некоторые устройства с пользовательскими настройками Android и агрессивное управление батареями удаляют мое уведомление и / или приостанавливают / убивают моего работника, например, когда пользователь удаляет приложение из последних приложений или когда он выключает дисплей
- Минимальный интервал может ' короче 15 минут
После некоторых исследований я обнаружил, что другие приложения используют Foreground Service
, и описание в документации звучит так, что это может стать хорошей альтернативой моему подходу.
Это хорошая идея, чтобы использовать Foreground Service
в моем случае? Есть ли недостатки?
Редактировать:
Некоторые найденные мной мнения:
WorkManager не подходит для непрерывной работы - это был бы случай использования услуг переднего плана.
Если вы считаете, что вам нужен сервис переднего плана, чтобы остаться в живых постоянно, то это показатель того, что передний план сервис не правильный ответ.
Я в замешательстве lol
Редактировать 2:
Или я должен использовать вместо этого Firebase Cloud Messaging ? Будет ли это работать для моего варианта использования?