gpt4 book ai didi

android - Jetpack workmanager 不返回成功

转载 作者:行者123 更新时间:2023-11-30 05:12:32 25 4
gpt4 key购买 nike

我正在使用 android.arch.work:work-runtime-ktx:1.0.0-alpha11 并在运行 Android 7.0 的 Samsung Galaxy S8+ 上遇到了问题。对于其他设备,它工作正常。

    val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
val inputData: Data = Data.Builder()
.putString(INPUT_DATA_FRONT_URI, front?.toString())
.putString(INPUT_DATA_BACK_URI, back?.toString())
.build()
val work = OneTimeWorkRequestBuilder<LicenseUploadWorker>()
.setConstraints(constraints)
.setInputData(inputData)
.build()
workManager.beginUniqueWork(LICENSE_UPLOAD_WORKER, ExistingWorkPolicy.REPLACE, work)
.enqueue()

工作已安排并成功执行,但我从此处获取的 LiveData

workManager.getWorkInfoByIdLiveData(work.id)

永远不会获得 WorkInfo.State.SUCCEEDED 状态更新。从日志中我可以看到工作已完成,没有任何问题:

11-26 12:12:03.693 6820 6852 I WorkerWrapper: Worker result SUCCESS for Work

现在有办法解决这个问题吗?

最佳答案

可以直接订阅enqueue()的返回值来观察状态,例如:

val workOperation = workManager.beginUniqueWork(LICENSE_UPLOAD_WORKER, ExistingWorkPolicy.REPLACE, work).enqueue()

workOperation.state.observe(this, Observer { state ->
Timber.d("state: $state")
})

关于android - Jetpack workmanager 不返回成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53482623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com