Android:Workmanager getWorkInfoByTagLiveData,将getWorkInfosByTagLiveData 转换为单个LiveData

Android: Workmanager getWorkInfoByTagLiveData, convert getWorkInfosByTagLiveData to single LiveData

在使用 Workmanager 时,我遇到了一个问题,我想得到一个 single LiveData Object 和关联的 tag。我的问题是,Workmanager 只提供了 getWorkInfosByTagLiveData

有没有办法获取带有关联标签的单个 LiveData 对象?

所以这是简单的解决方案:

获取单个 WorkInfo 作为 Flow(从 ViewModel 到观察者)

val singleWorkInfoAsFlow: Flow<WorkInfo> =
    WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").asFlow().map { it[0] }

获取单个 WorkInfo 作为 LiveData(从 View 观察)

val singleWorkInfoAsLiveData: LiveData<WorkInfo> =
    WorkManager.getInstance(context).getWorkInfosByTagLiveData("TAG").map { it[0] }

我知道这并不难,但我希望我能帮助到一些人。如果有人知道 java 版本,请在此处提供。

干杯