Я использую androidx API диспетчера работ, в Диспетчере работ использую PeriodicWorkRequest для запуска Работы каждые 4 часа.Но это работает только один раз после запуска приложения.
Кодирование PeriodicWorkRequest: -
Constraints constraints = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
PeriodicWorkRequestpendingCampaignWork = new PeriodicWorkRequest.Builder(PendingCampaignWorker.class, 4, TimeUnit.HOURS)
.setConstraints(constraints)
.build();
Код менеджера работ для постановки в очередь запроса: -
WorkManager.getInstance().enqueueUniquePeriodicWork(LATEST_CAMPAIGN_WORK, ExistingPeriodicWorkPolicy.KEEP, pendingCampaignWork);
Дляtest am change Системное время Вручную до 4 часов после запуска приложения в эмуляторе для запуска работы.
Есть ли какая-либо проблема в моем коде, помогающая мне решить проблему.
Обновление: -
Work Manager работает нормально, он не работает в зависимости от системного времени, как сказано в разделе ответов m.hassan .Я проверяю, чтобы активировать work каждые 20 минут, все работает нормально.