Периодический запрос не работает в новой версии android - PullRequest
1 голос
/ 23 марта 2020

Я не могу позвонить periodi c работать один раз в 16 минут. Он звонит только тогда, когда я запускаю приложение на устройстве. Проверьте код, указанный ниже, если я делаю какую-либо ошибку. Я использую устройство One-plus 7t.

Область: я пытаюсь загрузить данные, присутствующие в базе данных комнат, на сервер один раз в 16 минут.

val constraints = Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()

    val repeatingRequest = PeriodicWorkRequestBuilder<RefreshDataWorker>(16, TimeUnit.MINUTES)
            .setConstraints(constraints)
            .build()

    WorkManager.getInstance().//enqueue(repeatingRequest)
    enqueueUniquePeriodicWork(
            RefreshDataWorker.WORK_NAME,
            ExistingPeriodicWorkPolicy.KEEP,
            repeatingRequest)

И Зависимость

implementation "androidx.work:work-runtime-ktx:2.3.4"

1 Ответ

1 голос
/ 27 марта 2020

Причина, по которой он не работал, состоит в том, что Период c работа имеет минимальный интервал 15 минут.

Лучшее предложение использовать диспетчер тревог. так как я обнаружил, что PeriodicWorkRequest не работает на некоторых устройствах и соответственно android Версии.

. Для справки вы можете посетить веб-сайт разработчика: https://developer.android.com/reference/androidx/work/PeriodicWorkRequest#min_periodic_interval_millis

...