我有以下临时工。
// Create a Constraints that defines when the task should run
Constraints constraints = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.UNMETERED)
.setRequiresBatteryNotLow(true)
// Many other constraints are available, see the
// Constraints.Builder reference
.build();
OneTimeWorkRequest oneTimeWorkRequest =
new OneTimeWorkRequest.Builder(SyncWorker.class)
.setConstraints(constraints)
.addTag(SyncWorker.TAG)
.build();
根据https://developer.android.com/topic/libraries/architecture/workmanager
// (Returning RETRY tells WorkManager to try this task again
// later; FAILURE says not to try again.)
我想知道,如果SyncWorker
继续返回RETRY
,什么是重试策略WorkManager
?例如,最大重试次数是WorkManager
多少?文档尚不清楚。
默认值为BackoffPolicy.EXPONENTIAL
。我们仅在您要求我们RETRY
退货WorkerResult.RETRY
或Worker
现在您的约束尚未满足时重试。因此,例如,如果您需要一个NETWORK
约束,而现在该设备失去了活动的Network
连接,则Worker
它将停止并自动重试(当满足约束时)。
有关更多信息,请参阅docs。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句