我通过调用enqueueuniqueperiodicwork()方法安排了一个周期性工作如何得到结果?

i7uaboj4  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(425)

我正在使用workmanager 1.0.1,我有一个问题。
例如,我通过以下代码安排了定期工作:

WorkManager.getInstance().enqueueUniquePeriodicWork("work", ExistingPeriodicWorkPolicy.KEEP, myPeriodicWorkRequest)

我如何判断这个请求是因为同名的工作已经安排好了而被“拒绝”了,还是一切正常,工作安排成功了?

3htmauhk

3htmauhk1#

您可以使用myperiodicworkrequest id值来检索工作信息。
例如,你可以打电话 WorkManager.getInstance().getWorkInfoByIdLiveData(myPeriodicWorkRequest.id) 以获取实时数据,用于观察计划工作的变化。

n1bvdmb6

n1bvdmb62#

使用 ExistingPeriodicWorkPolicy.KEEP 意味着只有在没有另一个连接到同一唯一名称的workrequest处于“非最终”状态时,您才要求workmanager将您的workrequest排队。
如果您需要总是将新的工作请求排队,则应使用“existingperiodicworkpolicy.replace”。
如果您认为需要知道新的workrequest是否已排队,那么您可能正试图将大部分应用程序上下文转移到workmanager中。

相关问题