我在我的项目中使用MVVM结构和数据绑定.当谈到GG/FB登录时,事情变得奇怪,因为他们需要Context
googleApiClient = new GoogleApiClient.Builder(context)
.enableAutoManage(this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
startActivityForResult(signInIntent, GOOGLE_AUTH);
Run Code Online (Sandbox Code Playgroud)
GoogleApiClient需要Context所以我不能将它传递给接收DataBinding事件的ViewModel.
class LoginViewModel(
dataManager: DataManager,
schedulerProvider: SchedulerProvider
) : BaseViewModel<LoginNavigator>(dataManager, schedulerProvider) {
fun loginGoogle(){
setIsLoading(true)
//No idea what to write in here
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用Gg/FB登录MVVM结构?或者我只需要做原始的方式(做所有事情Activity)?