gpt4 book ai didi

android - 使用 WorkManager 的定期日常工作请求

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:03 26 4
gpt4 key购买 nike

如何正确使用 Android Jetpack 中新的 WorkManager 来安排每天一次的周期性工作,该工作应该每天并且恰好一次执行某些操作?

我们的想法是使用 WorkManager 检查具有给定标签的工作是否已经存在,否则开始新的定期工作。

我尝试使用下一种方法来做到这一点:

public static final String CALL_INFO_WORKER = "Call worker";

...

WorkManager workManager = WorkManager.getInstance();
List<WorkStatus> value = workManager.getStatusesByTag(CALL_INFO_WORKER).getValue();
if (value == null) {
WorkRequest callDataRequest = new PeriodicWorkRequest.Builder(CallInfoWorker.class,
24, TimeUnit.HOURS, 3, TimeUnit.HOURS)
.addTag(CALL_INFO_WORKER)
.build();
workManager.enqueue(callDataRequest);
}

但是 value 始终为空,即使我在 WorkerdoWork() 方法中放置了一个断点(所以它是definitely in progress) 并从另一个线程检查工作状态。

最佳答案

您现在可以使用 enqueueUniquePeriodicWork 方法。它是在 WorkManager 的 1.0.0-alpha03 版本中添加的。

关于android - 使用 WorkManager 的定期日常工作请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50357066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com