【发布时间】:2018-09-07 08:19:27
【问题描述】:
对于定期任务,我将工作经理用作:
PeriodicWorkRequest.Builder wifiWorkBuilder =
new PeriodicWorkRequest.Builder(FileUpload.class, 15,
TimeUnit.MINUTES)
.setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.METERED).build());
PeriodicWorkRequest wifiWork = wifiWorkBuilder.build();
WorkManager.getInstance().enqueueUniquePeriodicWork("wifiJob", ExistingPeriodicWorkPolicy.REPLACE, wifiWork);
我在该活动中有一个活动,如果用户取消选择复选框,则存在一个复选框,然后我想停止这项工作。所以我停止了这样的工作:
WorkManager.getInstance().cancelAllWorkByTag("wifiJob");
但是在停止工作之后,我的任务也在执行。以前我认为可能是下一个作业将被执行,之后它将停止,但在过去的 1 小时内它执行了 4 次并且作业仍在后台运行。什么是停止工作的其他方式或正确方式。
根据文档:
使用给定标签取消所有未完成的工作。请注意,取消是一项尽力而为的政策,已经执行的工作可能会继续运行。
这是什么意思 - 取消是一项尽力而为的政策,已经执行的工作可能会继续运行。那么阻止这种情况的正确方法是什么
我正在使用版本implementation "android.arch.work:work-runtime:1.0.0-alpha08"
在此先感谢
【问题讨论】:
标签: android android-jetpack android-workmanager