从LifeCycleService观察LiveData

时间:2018-06-19 15:37:46

标签: android service android-lifecycle lifecycle android-livedata

我正在使用google android体系结构组件,并且有一个前台服务,即LifeCycleService。

问题是当我尝试从存储库中观察LiveData时,可观察到的onChanged不会触发。如果我使用observeForever而不是observe,它将触发。

什么会引起这种问题?

2 个答案:

答案 0 :(得分:1)

结果是我覆盖了onBind而不调用了super.onBind,而后者没有触发LifeCycleService处于STARTED状态。这意味着我的观察者总是不活跃

答案 1 :(得分:0)

对于使用 @StateObject var vm: AuthViewModel = AuthViewModel() 观察 LifecycleService 内的流的任何人,请务必使用 repeatOnLifecycle()。像我们对活动或片段一样使用 resumed 永远不会触发流收集。