BACKGROUND
我在我的应用中使用Google Plus OAuth以及Firebase . 当用户点击登录按钮时,会出现帐户选择对话框,用户选择所选的特定帐户并登录 .
PROBLEM
假设用户在该设备中有两个帐户,A和B.最初,他选择帐户A进行登录,然后使用该应用程序然后决定退出 . 现在他再次单击登录按钮,但 the account selection dialog doesn't appear 并使用之前选择的帐户A自动登录 .
WHAT I WANT
我希望每次都向用户显示帐户选择对话框,如果他们愿意,我希望 give them a chance to select a different account .
CODE
以下是我使用Google Api客户端登录的小代码片段 .
String mClientId = parcel.getProviderExtra().getString(CLIENT_ID_KEY);
GoogleSignInOptions googleSignInOptions;
googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(mClientId)
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(activity)
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
.build();
mGoogleApiClient.connect();
并退出,
Auth.GoogleSignInApi.signOut(mGoogleApiClient);
任何帮助将受到高度赞赏 .
2 回答
通过每次登录前清除默认帐户来解决此问题 .
这将强制每次都出现对话框 .
每次用户签名时,只需使用以下方法清除默认帐户即可 .