Che*_*eng 9 android android-workmanager
因为OneTimeWorkRequest,我们可以setInitialDelay具体说明最初的延迟.
但是,没有这样的设施PeriodicWorkRequest.
有没有可靠的方法来实现这一目标?
一种不太可靠的方法,就是让一个延迟OneTimeWorkRequest工人,进行设置PeriodicWorkRequest.然而,这非常麻烦,并且创造了一种可能性,OneTimeWorkRequest可能会失败并且无法安装PeriodicWorkRequest.
由于系统运行您的工作,您无法控制它运行的确切时间。
创建工作执行延迟的最佳选择是使用它PeriodicWorkRequest.Builder并提供 aflexInterval作为第四个参数:
PeriodicWorkRequest build = new PeriodicWorkRequest.Builder(
SyncJobWorker.class,
REPEAT_INTERVAL, // repeatInterval
TimeUnit.MILLISECONDS, // repeatIntervalTimeUnit
FLEX_INTERVAL, // flexInterval
TimeUnit.MILLISECONDS) // flexIntervalTimeUnit
.build();
Run Code Online (Sandbox Code Playgroud)
文档参考:https : //developer.android.com/reference/androidx/work/PeriodicWorkRequest.Builder#periodicworkrequestbuilder_2
创建一个 PeriodicWorkRequest 以在每个间隔周期的弹性周期内定期运行一次。见下图。弹性周期从 intervalMillis 开始 - flexMillis 到间隔结束。intervalMillis 必须大于或等于 PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS,flexMillis 必须大于或等于 PeriodicWorkRequest.MIN_PERIODIC_FLEX_MILLIS。
| 归档时间: |
|
| 查看次数: |
1467 次 |
| 最近记录: |