我正在使用workmanager 1.0.1,我有一个问题。
例如,我通过以下代码安排了定期工作:
WorkManager.getInstance().enqueueUniquePeriodicWork("work", ExistingPeriodicWorkPolicy.KEEP, myPeriodicWorkRequest)
我如何判断这个请求是因为同名的工作已经安排好了而被“拒绝”了,还是一切正常,工作安排成功了?
我正在使用workmanager 1.0.1,我有一个问题。
例如,我通过以下代码安排了定期工作:
WorkManager.getInstance().enqueueUniquePeriodicWork("work", ExistingPeriodicWorkPolicy.KEEP, myPeriodicWorkRequest)
我如何判断这个请求是因为同名的工作已经安排好了而被“拒绝”了,还是一切正常,工作安排成功了?
2条答案
按热度按时间3htmauhk1#
您可以使用myperiodicworkrequest id值来检索工作信息。
例如,你可以打电话
WorkManager.getInstance().getWorkInfoByIdLiveData(myPeriodicWorkRequest.id)
以获取实时数据,用于观察计划工作的变化。n1bvdmb62#
使用
ExistingPeriodicWorkPolicy.KEEP
意味着只有在没有另一个连接到同一唯一名称的workrequest处于“非最终”状态时,您才要求workmanager将您的workrequest排队。如果您需要总是将新的工作请求排队,则应使用“existingperiodicworkpolicy.replace”。
如果您认为需要知道新的workrequest是否已排队,那么您可能正试图将大部分应用程序上下文转移到workmanager中。