4

我正在使用 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 是如何工作的,它重试了多少次,什么时候重试?

4

0 回答 0