如何从视图模型调用AppUpdateManager.startUpdateFlowForResult()?



如何在Android中从viewmodel调用AppUpdateManager.startUpdateFlowForResult()。它需要一个活动/片段作为参数。

你不应该,你应该使用一个名为state的实时数据对象(也许也使用枚举( 要管理 ViewModel 中的状态,请观察活动(或片段(中的实时数据并根据状态执行适当的操作.
假设您需要三种状态,并且 ViewModel 中的某个位置需要调用AppUpdateManager.startUpdateFlowForResult(),您的代码应如下所示:

enum class State {
StateOne,
StateTwo,
StateThree
}

在您的视图模型中:

val state = MutableLiveData<State>()
...
fun somewhere() {
....
// instead of calling AppUpdateManager.startUpdateFlowForResult() set the proper state
// I assume its stateThree
state.postValue(State.StateThree)
}

现在,在您的活动中 onCreate(( :

viewModel.state.observe(this) { yourstate ->
yourstate?.also { state ->
when (state) {
State.stateOne -> { 
// do something
}
State.stateTwo -> {
// do something
}
State.stateThree -> {
AppUpdateManager.startUpdateFlowForResult()
}
}
}
}

我希望它足够清楚

相关内容

  • 没有找到相关文章

最新更新