Android PeriodicWorkRequestBuilder如何避免双重调度?

Android PeriodicWorkRequestBuilder如何避免双重调度?,android,android-workmanager,Android,Android Workmanager,我正在使用新的WorkManager,我想知道,当我计划一个定期工作时,如何避免重新计划它,它是由操作系统自动处理的吗?它是一个定期工作程序,因此它会自动重新安排下一个事件。 为避免重新安排,您可以从工作人员处返回Result.failed(),也可以从应用程序中取消工作请求。在这种情况下,如果您仅仅因为不希望重复工作而需要检查已在运行的work manager,则应在工作人员内部处理取消操作,如中所述。你可以简单地使用 此方法允许您将唯一命名的 PeriodicWorkRequest,其中只有

我正在使用新的WorkManager,我想知道,当我计划一个定期工作时,如何避免重新计划它,它是由操作系统自动处理的吗?

它是一个定期工作程序,因此它会自动重新安排下一个事件。
为避免重新安排,您可以从工作人员处返回Result.failed(),也可以从应用程序中取消
工作请求。在这种情况下,如果您仅仅因为不希望重复工作而需要检查已在运行的work manager,则应在
工作人员内部处理取消操作,如中所述。你可以简单地使用

此方法允许您将唯一命名的 PeriodicWorkRequest,其中只有一个 特定名称一次可以处于活动状态。例如,您只能 希望一个同步操作处于活动状态。如果有一个待处理,您可以 选择让它运行或用新工作替换它

所以你不必担心作品的两面性

 workmanager.enqueueUniquePeriodicWork(TAG, ExistingPeriodicWorkPolicy.KEEP , photoCheckWork);
  • 其中标记是工作经理检查重复性的唯一名称
  • 您可以
    现有PeriodicWorkPolicy。保留
    现有PeriodicWorkPolicy。替换