我正在使用WorkManager类完成我希望我的应用在特定时间执行的任务。我的工人班级如下所示。
@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的工作原理,重试的次数和重试的时间?