WorkManger适用于Oreo,但不适用于棒棒糖 [英] WorkManger works on Oreo but not Lollipop
问题描述
WorkManager
指出它可以在JobScheduler
之前的操作系统等上运行,但似乎不能在使用AlarmManager
的API级别上运行.我有一个PeriodicWorkRequest
,它在奥利奥(Oreo)上运行的间隔很短,但是在棒棒糖上,它只在第一次运行.
WorkManager
states that it works on OSes before JobScheduler
and the like, yet it doesn't seem to work on API levels that use AlarmManager
. I have a PeriodicWorkRequest
which runs in intervals just fine on Oreo, but on Lollipop, it only runs the first time.
有问题的代码(PeriodicWorker.class
当然是我自己的class
):
The code in question (PeriodicWorker.class
is my own class
of course):
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
.
My WorkManager dependency is android.arch.work:work-runtime:1.0.0-alpha03
.
这是一个演示项目: https://gitlab.com/neelkamath/work-manager-演示
推荐答案
Lollipop的功能已在较新的版本android.arch.work:work-runtime:1.0.0-alpha04
中得到修复.
Lollipop's functionality has been fixed in the newer version: android.arch.work:work-runtime:1.0.0-alpha04
.
这篇关于WorkManger适用于Oreo,但不适用于棒棒糖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!