Пытаюсь заставить WorkManager периодически запускать написанный мной сервис Logger.java.
В MainActivity.java в метод onCreate добавил:
protected void onCreate(Bundle savedInstanceState) {
...
WorkManager.getInstance().enqueue(myWorkRequest);
PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(Logger.class, 15, TimeUnit.MINUTES, 15, TimeUnit.MINUTES).addTag("Logger").build();
WorkManager.getInstance().enqueueUniquePeriodicWork("Logger", ExistingPeriodicWorkPolicy.KEEP, workRequest);
...
}
Когда я открываю приложение и держу открытым при работающем экране - все работает штатно, раз в 15-30 минут сервис Logger отрабатывает.
Блокирую устройство, через час разблокирую, захожу в приложение - сервис Logger штатно отрабатывает
подряд 2-4 раза (количество пропущенных срабатываний WorkManager, очевидно).
Мне же надо, чтобы срабатывания происходили в фоне, неважно - разблокирован экран или нет, открыто приложение на экране или нет.
Что я могу упускать?