Вот мой код, который планирует WorkManager .
Код: Выделить всё
public static void scheduleWork() {
PeriodicWorkRequest.Builder photoCheckBuilder =
new PeriodicWorkRequest.Builder(WorkManagerService.class, TIME_INTERVAL_IN_SECONDS,
TimeUnit.SECONDS);
PeriodicWorkRequest photoCheckWork = photoCheckBuilder.build();
WorkManager instance = WorkManager.getInstance();
if (instance != null) {
instance.enqueueUniquePeriodicWork("TAG", ExistingPeriodicWorkPolicy.KEEP , photoCheckWork);
}
}
Даже я могу проверить, работает ли моя служба, с помощью этого метода. Но я не хочу планировать WorkManager, если он уже запланирован для устранения несоответствий в запланированное время.
Как
Код: Выделить всё
if(!workManagerIsScheduled())
{
scheduleWork();
}
Подробнее здесь: https://stackoverflow.com/questions/516 ... ed-already