首页 > 解决方案 > WorkManger 适用于 Oreo 但不适用于 Lollipop

问题描述

WorkManager声明它可以在之前JobScheduler的操作系统上运行等,但它似乎不适用于使用AlarmManager. 我有一个PeriodicWorkRequest在奥利奥上以间隔运行的好,但在棒棒糖上,它只运行第一次。

有问题的代码(当然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

标签: javaandroidandroid-architecture-componentsandroid-workmanager

解决方案


Lollipop 的功能已在较新版本中得到修复:android.arch.work:work-runtime:1.0.0-alpha04.


推荐阅读