для периодического задания я использую менеджер работ как:
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");
Но после прекращения работы моя задача также выполняется. Ранее я думал, что может быть выполнено следующее задание, и после этого оно остановится, но за последний час оно выполнено 4 раза, а задание все еще выполняется в фоновом режиме. Какой другой способ или правильный способ прекратить работу.
согласно Документам:
Отменяет всю незаконченную работу с данным тегом. Обратите внимание, что отмена - это политика с максимальными усилиями, и работа, которая уже выполняется, может продолжаться.
В чем смысл этого - отмена - это политика наилучшего усилия, и работа, которая уже выполняется, может продолжаться. Итак, как правильно остановить это
Я использую версию implementation "android.arch.work:work-runtime:1.0.0-alpha08"
Заранее спасибо