我正在使用 WorkManager 类来执行我希望我的应用程序在特定时间执行的任务。我的 Worker 类如下所示。
@Override
public Result doWork(){
downloadUpdates();
return Result.SUCCESS;
}
我使用 OneTimeWorkRequest 创建了这项工作,如下所示。
Constraints.Builder builder = new Constraints.Builder();
builder.setRequiresCharging(true);
OneTimeRequest request = new OneTimeWorkRequest.Builder(DownloadWorker.class)
.setConstraints(builder.build()).build();
workManager.enqueue(request);
现在,当我测试这个 Worker 时,如果手机没有被充电,那么工作就会被推迟(即重试),直到手机连接上。但我想如果结果是RETRY
,那么它应该在手机连接时重试,否则就按住。
由于我没有太多关于此 BackOffPolicy 的文档,任何人都可以告诉我 RETRY 是如何工作的,它重试了多少次,什么时候重试?