Android WorkManager PeriodicWorkRequest重复太早了

问题描述 投票:0回答:2
val repeatedReq = PeriodicWorkRequest.Builder(
            MyWorkerClass::class.java,15,TimeUnit.MINUTES).build()
            WorkManager.getInstance(this).enqueue(repeatedReq)

我的WorkManager每3-6分钟调用一次doWork,而不是像我在代码中指定的那样每15分钟调用一次。有人知道为什么吗?谢谢。

android kotlin android-workmanager
2个回答
0
投票
  • 定期工作的最小间隔为15分钟。
  • 如果每3-6分钟运行一次,则您有许多workManager。你忘了取消其他]

0
投票
如@Kasim所指出,PeriodicWorkRequest的最小间隔为15分钟。如果您想要请求的unique实例,则应使用:

val repeatedReq = PeriodicWorkRequest.Builder(MyWorkerClass::class.java,15,TimeUnit.MINUTES).build() WorkManager.getInstance(this).enqueueUniquePeriodicWork("YOURUNIQUENAME", ExistingPeriodicWorkPolicy.KEEP, repeatedReq)

  • ExistingPeriodicWorkPolicy.KEEP:如果存在具有相同唯一名称的待处理(未完成)工作,则不执行任何操作。否则,请插入新指定的作品。
  • ExistingPeriodicWorkPolicy.REPLACE:如果存在具有相同唯一名称的待处理(未完成)作品,请取消并删除它。然后,插入新指定的作品。
© www.soinside.com 2019 - 2024. All rights reserved.