我正在使用WorkManager类执行我希望我的应用程序在特定时间执行的任务。我的工人阶级是这样的。
@Override
public Result doWork(){
downloadUpdates();
return Result.SUCCESS;
}
我用下面这样的一次性工作请求创建了这个工作。
Constraints.Builder builder = new Constraints.Builder();
builder.setRequiresCharging(true);
OneTimeRequest request = new OneTimeWorkRequest.Builder(DownloadWorker.class)
.setConstraints(builder.build()).build();
workManager.enqueue(request);
现在,当我测试这个工作人员时,如果电话没有充电,工作就会被推迟(即重试),直到电话接通。但我想如果结果是
RETRY
,则应在连接电话时重试,否则请稍候。
由于我没有太多关于此回退策略的文档,有谁能告诉我重试如何工作,重试多少次,何时重试?