Является ли использование службы переднего плана вместо WorkManager для обновления текущих уведомлений хорошей или плохой идеей? - PullRequest
1 голос
/ 18 января 2020

Я использую WorkManager и PeriodicWorkRequest, чтобы запустить текущее уведомление и периодически обновлять его данными, полученными Volley. Он должен продолжать работать, даже если приложение закрыто, и должен перезапускаться, если пользователь перезагружает устройство.

Есть две большие проблемы с WorkManager

  1. Некоторые устройства с пользовательскими настройками Android и агрессивное управление батареями удаляют мое уведомление и / или приостанавливают / убивают моего работника, например, когда пользователь удаляет приложение из последних приложений или когда он выключает дисплей
  2. Минимальный интервал может ' короче 15 минут

После некоторых исследований я обнаружил, что другие приложения используют Foreground Service, и описание в документации звучит так, что это может стать хорошей альтернативой моему подходу.

Это хорошая идея, чтобы использовать Foreground Service в моем случае? Есть ли недостатки?


Редактировать:

Некоторые найденные мной мнения:

  • WorkManager не подходит для непрерывной работы - это был бы случай использования услуг переднего плана.

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

Я в замешательстве lol

Редактировать 2:

Или я должен использовать вместо этого Firebase Cloud Messaging ? Будет ли это работать для моего варианта использования?

...