替代Work Manager的截止日期(Android Studio)

问题描述 投票:0回答:1

[现在,工作管理器正在替换Job Scheduler,我正试图弄清如何像在Job Scheduler中一样使用OneTimeWorkRequest为Work Manager设置替代截止日期。我尝试遍历所有约束,但是找不到等效项。我还浏览了OneTimeWorkRequest.Builder中的选项,但再次找不到任何内容。我将如何设定替代期限?

android android-studio android-workmanager
1个回答
0
投票

setOverrideDeadline,按照its documentation,使您的作业运行即使不满足您的其他约束条件。 WorkManager不会这样做:它始终遵守您的约束。

当然,您可以使用setInitialDelay将第二个工作请求排队到您想要的“替代期限”,不包括您的其他约束条件和特定标签。

这意味着您将有两个入队工作人员:

  1. 具有约束和标签的真实工人,例如setInitialDelay
  2. 无限制截止时间的工作程序,没有任何约束,初始延迟和一个标签,例如"real_work"

如果真正的员工被解雇,您可以致电"override"取消超限期限的员工,然后照常进行。

如果您的超限截止期限工人被解雇,这意味着从您入队到首次超限截止期限之间没有时间。在这里,您要找出替代策略(例如,在约束较少的情况下重新入队新员工等)。如果您想取消自己的真实作品,也想在这里workManager.cancelAllWorkByTag("override")

© www.soinside.com 2019 - 2024. All rights reserved.