Выполняйте задачу каждую секунду, используя Work Manager API - PullRequest
0 голосов
/ 06 июля 2018

Work Manager - это новый API, и я пытаюсь выполнить задачу каждую секунду, но он не работает.

Это мой рабочий класс

class TestingWorker : Worker(){
    override fun doWork(): Result {
        Log.i("CheckWorker","Result here")
        return Result.SUCCESS
    }
}

и вот где я это назвал.

 val recurringWork: PeriodicWorkRequest = PeriodicWorkRequest.Builder(TestingWorker::class.java, 1, TimeUnit.SECONDS).build()
 WorkManager.getInstance()?.enqueue(recurringWork)

1 Ответ

0 голосов
/ 06 июля 2018

Это не работает, потому что минимальный интервал между двумя периодическими рабочими запросами составляет 15 минут, который определяется как MIN_PERIODIC_INTERVAL_MILLIS .

На основании документации :

Создает PeriodicWorkRequest для периодического запуска один раз в каждый интервал. период. PeriodicWorkRequest гарантированно выполняется ровно один раз в течение этого интервала. Интервал Миллис должен быть больше или равно PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS . Это может запустить сразу, в конце периода или в любое время между Пока другие условия выполняются в то время.

Я бы рекомендовал вам не планировать работу так часто. Это в конечном итоге потребляет больше ресурсов и в конечном итоге влияет на срок службы батареи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...