【发布时间】:2018-06-02 13:42:10
【问题描述】:
目前,我正在使用 WorkManager 1.0.0-alpha02。
def work_version = "1.0.0-alpha02"
implementation "android.arch.work:work-runtime:$work_version" // use -ktx for Kotlin
// optional - Firebase JobDispatcher support
implementation "android.arch.work:work-firebase:$work_version"
当应用程序退出时,使用以下代码执行后台工作程序没有问题。
使用入队,按预期工作
OneTimeWorkRequest oneTimeWorkRequest =
new OneTimeWorkRequest.Builder(SyncWorker.class)
.addTag(SyncWorker.TAG)
.build();
WorkManager workManager = WorkManager.getInstance();
workManager.enqueue(oneTimeWorkRequest);
因此,我想避免同时运行多个SyncWorker。我尝试使用
使用 beginUniqueWork,不起作用
OneTimeWorkRequest oneTimeWorkRequest =
new OneTimeWorkRequest.Builder(SyncWorker.class)
.addTag(SyncWorker.TAG)
.build();
WorkManager workManager = WorkManager.getInstance();
workManager.beginUniqueWork(
SyncWorker.TAG,
ExistingWorkPolicy.REPLACE,
oneTimeWorkRequest
);
SyncWorker 根本没有运行。
我可以知道我错过了哪一步吗?谢谢。
【问题讨论】:
标签: android android-workmanager