如何正确使用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
始终为空,即使我在Worker
的doWork()
方法内设置断点(所以它肯定正在进行中),并从另一个线程检查工作状态。