Я пытаюсь настроить androidx WorkManager
, чтобы выполнять какую-то работу один раз в день.
Я настраиваю свою работу следующим образом
val request = PeriodicWorkRequest.Builder(Worker::class.java, 24, TimeUnit.HOURS)
.setConstraints(
Constraints.Builder()
.setRequiresCharging(true)
.setRequiredNetworkType(NetworkType.UNMETERED)
.setRequiresDeviceIdle(true)
.build()
)
.build()
workManager.enqueueUniquePeriodicWork(
"my-job-name",
ExistingPeriodicWorkPolicy.REPLACE,
request
)
И мой Worker
классесть некоторые записи.
Я пытаюсь убедиться, что это работает.Проблема в том, что я не вижу своих записей в logcat.Однако он прекрасно работает, когда я удаляю ограничение setRequiresDeviceIdle(true)
.Может кто-нибудь указать, как я могу поставить свой телефон в состояние, которое работает с setRequiresDeviceIdle(true)
?
Я пытался
adb shell dumpsys deviceidle force-idle
Но это не работает.Также я попытался выключить экран и переслать часы на следующий день и так далее.Ничего не сработало.