我遇到了与GoogleSignIn Library相关的问题。 在我的应用中,我尝试使用Google帐户登录,但是请求权限(例如离线访问)的对话框已经循环播放。
请注意,此问题仅在一台设备上重现,并且在其他设备上运行良好。因此,我认为此问题与Google控制台等上的客户端ID配置无关。
步骤:
运行登录过程:
if (mGoogleApiClient == null) { GoogleSignInOptions.Builder gsoBuilder =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestServerAuthCode(BuildConfig.GOOGLE_WEB_CLIENT_ID, true)
.requestScopes(
new Scope("https://mail.google.com/"),
new Scope("https://www.googleapis.com/auth/contacts.readonly"));
if (mLoginRequestAccountEmail != null) {
gsoBuilder.setAccountName(mLoginRequestAccountEmail);
}
GoogleSignInOptions gso = gsoBuilder.build();
mGoogleApiClient = new GoogleApiClient.Builder(RegisterPromptActivity.this)
.enableAutoManage(RegisterPromptActivity.this,
new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
})
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
} else {
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.clearDefaultAccountAndReconnect();
}
}
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, GOOGLE_SIGN_IN_REQUEST_CODE);
显示帐户选择器,因此请选择一个帐户。
对话框加速了。点击“允许'。
结果:点击“允许”后再次弹出此对话框。按钮。
您可以在video上看到相应的步骤。
更多细节
执行这些步骤后,我可能会在OnActivityResult方法中出错。
步骤(video):
结果:在OnActivityResult中返回一个带有resultCode:ACTIVITY_CANCELED的Intent,并且出现错误:Status {statusCode = unknown status code:12501,resolution = null}