WorkManager - 永久移除周期性工作者

WorkManager - remove periodic worker for good

我更新了以下代码,每三个小时添加一个新的定期工作人员。

fun runCouponValidatorWorker() {
    val constraints = Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()
    val worker = PeriodicWorkRequestBuilder<CouponValidatorWorker>(3, TimeUnit.HOURS).setConstraints(constraints).build()
    WorkManager.getInstance()?.enqueueUniquePeriodicWork("couponValidatorWorker", ExistingPeriodicWorkPolicy.REPLACE, worker)
}

我想发布一个更新,"kill" 这个工作器和这个工作器的每个计划实例。

最好的方法是什么?

你试过简单地调用这个:

WorkManager.getInstance()?.cancelUniqueWork("couponValidatorWorker")
WorkManager.getInstance().cancelAllWorkByTag(TAG)