[英]How to log out of Google after app data has been cleared?
因此,我在应用程序中使用FirebaseUI Auth来提供Google和Facebook的登录信息。 我已经设置了标准的SharedPreferences
来检查是否清除了应用程序数据,如果已清除,请注销Firebase和提供程序(按照文档中的说明)。 登出Facebook非常简单:
LoginManager.getInstance().logOut();
现在,对于Google来说,方法是:-
Auth.GoogleSignInApi.signOut(mGoogleApiClient);
这段代码的问题是我不知道从哪里获取mGoogleApiClient
即GoogleSignInClient
对象。 由于数据已清除,因此在创建构建器时我无法使用SharedPreferences
保存数据。
任何帮助表示赞赏,谢谢!
试试下面的代码
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getResources().getString(R.string.google_client_id))
.requestEmail()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);
对于注销,请使用以下代码
mGoogleSignInClient.signOut();
if (googleApiClient.isConnected())
Auth.GoogleSignInApi.signOut(googleApiClient);
//where googleApiClient is object of GoogleApiClient.
只需在您要注销的应用程序中添加此行即可。
FirebaseAuth.getInstance().signOut();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.