似乎我找不到任何关于 WorkManager 在满足所有约束后如何处理其工作的具体信息。
假设我们设置了一个这样的 WorkManager。
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
val syncOnlyOnce = PeriodicWorkRequest.Builder(PeriodicJob::class.java, updateInterval, TimeUnit.MILLISECONDS)
.setConstraints(constraints)
.build()
假设 updateInterval 为 1h,网络已连接且工作已执行。 一小时过去了,设备断开连接,工作没有执行。
当设备重新连接时会发生什么? WorkManager 是立即执行它的工作(分别是下一个可能的执行窗口),还是需要等待另一个时间段(例如~1h)?
最佳答案
不,WorkManager 不一定会立即执行您的工作。正如官方文档 ( https://developer.android.com/topic/libraries/architecture/workmanager ) 中所述,工作是可以推迟的。在设备休眠模式等情况下,您的工作可能不会立即执行。
如果您想了解有关您的选项的更多信息,请参阅此页面:https://developer.android.com/guide/background/
关于android - WorkManager 是否在满足所有约束后立即执行其 PeriodicWork?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58859047/