【发布时间】:2016-12-07 10:48:42
【问题描述】:
我正在使用 Firebase Google 身份验证,退出并再次登录将使用上次登录的帐户登录。如何每次都制作帐户选择器?
【问题讨论】:
我正在使用 Firebase Google 身份验证,退出并再次登录将使用上次登录的帐户登录。如何每次都制作帐户选择器?
【问题讨论】:
Firebase Auth Quickstart 示例代码提供了以下几个退出步骤
全局声明这两个变量
private GoogleSignInClient mGoogleSignInClient;
private GoogleSignInOptions gso;
在 onCreate 方法中添加这些行
gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
现在签出
private void signOut() {
// Firebase sign out
mAuth.signOut();
// Google sign out
mGoogleSignInClient.signOut().addOnCompleteListener(this,
new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
updateUI(null);
}
});
}
这很容易,而且会奏效。干杯!
【讨论】:
Firebase 身份验证的这一部分,只有一个 Google 登录按钮给了我很多噩梦,如果您遇到同样的问题,那么我可以保证这个答案将为您节省大量时间!
无论您在何处实现退出功能,请记住使用这行代码,一切顺利。
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
import com.google.android.gms.auth.api.signin.GoogleSignIn
GoogleSignIn.getClient(this, GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).build())
.signOut()
这是一个 kotlin 代码。
【讨论】: