因此,我正在使用 Workmanager 从 FTP 服务器检索数据。我必须根据工作人员的状态显示一种类型或信息或另一种类型。
我在视图模型上使用 getWorkInfoByIdLiveData 并观察活动中工作人员的状态。但是,由于 Observer 几乎已被弃用,我正在尝试使用 Flow 来代替。
我遇到的问题是,我不知道为什么,我无法在 livedata 上使用 asStateFlow() 。
有谁知道不使用LiveData和Observer来观察worker状态的方法吗?
谢谢你uu
将 LiveData-ktx 依赖项添加到您的 build.gradle 中:
androidx.lifecycle:lifecycle-livedata-ktx:2.6.1
然后就可以将 LiveData 转换为 Kotlin 协程的 Flow 了。
val operation = WorkManager.getInstance(context).enqueue(myRequest)
operation.state.asFlow()