- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CoroutineWorker
用于后台任务。这是代码 fragment
class SimpleWorker(context: Context) : CoroutineWorker(context, workerParams) {
override suspend fun doWork(): Result = coroutineScope{
//obtain settings info saved as local file
val settingsInfo = obtainSettings(context)
if(null == settingsInfo) {
Result.failure()
}
Log.i(TAG, "Valid settings found, proceed")
val isUploadEnabled = settingsInfo.isUploadEnabled //error when settingInfo is null
}
}
如果设置为空,我希望工作人员发送失败信号并停止运行其余代码。相反,它继续前进并进一步分解。是
Result.failure()
没有做它应该做的事情还是我错过了什么?
最佳答案
您必须实际调用return
与 Result.failure()
目的:
if(null == settingsInfo) {
return@coroutineScope Result.failure()
}
否则你只是在创建一个
Result.failure()
对象而不用它做任何事情。
关于android - 条件失败时无法停止 CoroutineWorker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64472566/
我正在使用 CoroutineWorker用于后台任务。这是代码 fragment class SimpleWorker(context: Context) : CoroutineWorker(con
我正在尝试实现 CoroutineWorker 以在 Android 应用程序中执行一些后台工作。我正在使用的第三方库使用回调,如 onConnected、onChanged 等。如何在 Corout
我正在尝试将一些网络调用迁移到 WorkManager CoroutineWorkers,以利用故障自动重试和调度功能。 这是我写的 worker : @HiltWorker class Refres
我正在尝试使用 dagger hilt 注入(inject)协程 worker ,我已按照文档中的所有说明进行操作 https://developer.android.com/training/dep
我使用WorkManager版本 2.2.0 用于在用户再次上线时启动协程 API 调用。 In the example by Google ,如果我想将 CoroutineWorker 的线程从默认
我当前的 android 应用程序使用链式 worker 来执行复杂的后台任务。 我只观察链中的最后一个 worker 来检测整个链是否成功完成。到目前为止,这种方法一直是可以接受的,因为我有一个新要
有人问了同样的问题,但它们对我不起作用,一开始我使用的是最新版本的工作管理器,它是 2.7 alpha 3,但我降级了,因为它只兼容 android 12 preview sdk,错误仍然存在!
我升级到 WorkManager 2.1.0 并尝试使用一些 Kotlin 扩展,包括 CoroutineWorker .我的 worker 正在延长 androidx.work.Worker以前,它
我是一名优秀的程序员,十分优秀!