一、用途
以最优的方式执行后台任务
二、使用
1.创建任务请求
//创建任务请求
val request=OneTimeWorkRequest.Builder(UploadWorker::class.java)
//设置触发条件
.setConstraints(constraints)
//设置延迟执行
.setInitialDelay(10,TimeUnit.SECONDS)
//设置退避策略
.setBackoffCriteria(BackoffPolicy.LINEAR,OneTimeWorkRequest.MIN_BACKOFF_MILLIS,TimeUnit.MILLISECONDS)
//设置标签
.addTag("UploadTag")
//创建
.build()
2.提交任务
//提交任务
WorkManager.getInstance(this)
.enqueue(request)
3.观察任务状态
//观察任务状态
WorkManager.getInstance(this)
.getWorkInfoByIdLiveData(request.id)
.observe(this,{
Log.d(javaClass.name,"workInfo: $it")
})