WorkManger适用于Oreo,但不适用于棒棒糖 [英] WorkManger works on Oreo but not Lollipop

查看:99
本文介绍了WorkManger适用于Oreo,但不适用于棒棒糖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆