Как получить данные и отобразить уведомление в фоновом режиме? - PullRequest
0 голосов
/ 31 октября 2019

Я работаю над приложением для Android. В котором я хочу автоматизировать уведомления. Сначала я думаю,

  1. Выборка данных с сервера, затем
  2. Сохранение в базе данных Room, затем
  3. Получение данных из RoomDb и затем отображение уведомлений.

Повторяйте это каждый день хотя бы один раз.

Теперь я хочу, чтобы эта работа выполнялась в фоновом режиме при любых условиях. То есть, является ли приложение в фоновом режиме, или приложение закрыто, или телефон перезагружается.

Так что в любой ситуации, Fetch data → Save it → Display Notification.

Я нашел много библиотек фоновой обработки Android. Такие как AlarmManager, JobScheduler, BroadcastReceiver, JobIntentService, Firebase Job Dispatcher, WorkManager и т. Д. Я работаю с API 19 по API 28 или выше. У этих библиотек есть ограничения и проблемы в фоновой обработке.

Итак, какая библиотека подойдет для меня, чтобы создать автоматическое уведомление, которое хорошо работает с API 19 до API 28 или выше.

1 Ответ

0 голосов
/ 01 ноября 2019

Вы можете использовать Jetpack WorkManager . Он обратно совместим до API 14.

  • WorkManager внутренне использует JobScheduler на устройствах с API 23+ и комбинацию BroadcastReceiver + AlarmManager на устройствах с API 14-22.

  • Обеспечивает выполнение задачи, даже если приложение или устройство перезагружается.

...