Какой работник нужно использовать при переносе диспетчера заданий firebase-job на workmanager?

Чтобы использовать WorkManager, вы должны создать подкласс одного из доступных классов Worker:

Я хочу запускать задание каждые 2 часа. Некоторые из упомянутых ответов должны использовать Listenable Worker. Я путаю это, что подходит для этого сценария. Пожалуйста помоги мне с этим.


person Krishna    schedule 16.12.2019    source источник


Ответы (1)


В WorkManager есть обширная документация о том, как его использовать, которая также включает руководство по миграции, описывающее переход с Firebase JobDispatcher.

В документации вы можете найти раздел, объясняющий различное поведение потоков различных классов рабочих.

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

  • Если то, что вы хотите запустить, является синхронным: используйте Worker
  • Если вы хотите запустить асинхронно: используйте CoroutineWorker, если вы используете Kotlin, иначе вам придется использовать ListenableWorker.
person pfmaggi    schedule 16.12.2019