12

我有一个存储库,其中包含该LiveData对象并供两者使用Activity,现在JobService(来自 Firebase 调度程序)通过ViewModel.

这里有简单的答案ServiceObserve LiveData from foreground service

但它没有提到如何为JobService.

4

1 回答 1

12

如果您想从不是 LifecycleOwner 的东西中观察 LiveData 对象,您可以使用该observeForever方法。

val data = getLiveDataFromSomewhere()
data.observeForever(object: Observer<Whatever> {
    override fun onChanged(stuff: Whatever?) {
        // do something with stuff
        data.removeObserver(this)
    }
})
于 2018-03-12T23:41:49.800 回答