WorkManger работает на Oreo, но не Lollipop

WorkManager заявляет, что работает на ОС раньше JobScheduler и тому подобное, но, похоже, он не работает на уровнях API, которые используют AlarmManager, у меня есть PeriodicWorkRequest который работает с интервалами очень хорошо на Oreo, но на Lollipop, он запускается только в первый раз.

Код в вопросе (PeriodicWorker.class мой собственный class конечно):

WorkManager
                    .getInstance()
                    .enqueue(
                            new PeriodicWorkRequest.Builder(
                                    PeriodicWorker.class,
                                    PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS,
                                    TimeUnit.MILLISECONDS
                            )
                                    .setConstraints(
                                            new Constraints.Builder()
                                                    .setRequiredNetworkType(NetworkType.CONNECTED)
                                                    .build()
                                    )
                                    .build()
                    );

Моя зависимость WorkManager android.arch.work:work-runtime:1.0.0-alpha03,

Вот демонстрационный проект: https://gitlab.com/neelkamath/work-manager-demo

1 ответ

Решение

Функциональность Lollipop была исправлена ​​в новой версии: android.arch.work:work-runtime:1.0.0-alpha04,