Nin*_*off 7 android android-workmanager
在每次应用程序启动时,我都会使用 ExistingPeriodicWorkPolicy.KEEP 将定期工作排入队列,以便在已有计划的情况下不会对任何其他工作进行排队。
假设在将来的应用程序更新中,我更改了工作的约束或周期,但保留原始的uniqueName. PeriodicWorkRequest由于使用相同,此更改会被忽略吗uniqueWorkName?
或者这不会成为问题,因为应用程序更新时,应用程序的所有工作都会被取消?
这里最好的方法是什么?
作为工作经理 | Android 开发者表示,您可以设置特定Tag于. 事实上,您可以保存而不必担心。WorkRequestuniqueWorkNameuniqueWorkName
当您需要更改约束时WorkRequest,您需要首先从队列中消除旧式约束,WorkRequest然后将新型约束添加到队列中。
这是一些代码
PeriodicWorkRequest request = new PeriodicWorkRequest.Builder(FooWorker.class)
.addTag("m_TAG_Version_1")
.build();
workManager
.enqueueUniquePeriodicWork("uniqueWorkName", ExistingPeriodicWorkPolicy.KEEP, request);
Run Code Online (Sandbox Code Playgroud)
那么在未来
if(isWorkUpdated)
{
workManager.cancelAllWorkByTag("m_TAG_Version_1");
PeriodicWorkRequest request = new PeriodicWorkRequest.Builder(FooWorker.class)
.addTag("m_TAG_Version_2")
.build();
workManager
.enqueueUniquePeriodicWork("uniqueWorkName", ExistingPeriodicWorkPolicy.KEEP, request);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1196 次 |
| 最近记录: |