在特定情况下设备连接到Internet后,WorkManager如何工作?

时间:2019-05-11 15:31:36

标签: android android-workmanager

我正在使用Android中的WorkManager。我想在用户每天与网络连接时上传照片,否则将其离线存储。我使用哪种方法上传照片PeriodicRequest或OneTimeRequest? 如果我使用PeriodicRequst,那么如果我将时间设置为2小时,并且用户在2小时之前连接到网络,它将如何工作。它将如何工作以及在什么时间开始? 如果我使用OneTimeRequest,那么它将如何工作以及在什么时间开始。

1 个答案:

答案 0 :(得分:1)

如果您要定期每天一次上传照片,最好的选择是使用受网络限制的PeriodicWorkRequest

val myConstraints = Constraints.Builder()
    .setRequiredNetworkType(NetworkType.CONNECTED)
    .build()

val myRequest = PeriodicWorkRequestBuilder<MyWorker>(24, TimeUnit.HOURS)
    .setConstraints(myConstraints)
    .build()

WorkManager.getInstance().enqueue(myRequest)

有关如何使用定期工作的更多信息,请查看documentation或观看this talk