无法通过GoogleSignIn登录Google帐户

时间:2017-10-31 10:27:42

标签: android google-play-services google-signin

我遇到了与GoogleSignIn Library相关的问题。 在我的应用中,我尝试使用Google帐户登录,但是请求权限(例如离线访问)的对话框已经循环播放。

请注意,此问题仅在一台设备上重现,并且在其他设备上运行良好。因此,我认为此问题与Google控制台等上的客户端ID配置无关。

  • 设备:小米Redmi Note 2
  • Android 版本:5.0.2 LRX22G
  • 游戏服务: 11.5.09(248-164803921)
  • Gradle依赖项: 编译" com.google.android.gms:play-services-auth:11.0.4"

步骤:

  1. 运行登录过程:

        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);
    
  2. 显示帐户选择器,因此请选择一个帐户。

  3. 对话框加速了。点击“允许'。

  4. 结果:点击“允许”后再次弹出此对话框。按钮。

    您可以在video上看到相应的步骤。

    更多细节

    执行这些步骤后,我可能会在OnActivityResult方法中出错。

    步骤(video):

    1. 转到系统设置 - >帐户并删除我尝试登录的帐户。
    2. 切换回应用
    3. 点击登录图标(以前显示的代码已执行)
    4. 打开一个活动,说明我已退出帐户并且必须重新登录。
    5. 点击下一步'并输入密码并点击“下一步”
    6. 结果:在OnActivityResult中返回一个带有resultCode:ACTIVITY_CANCELED的Intent,并且出现错误:Status {statusCode = unknown status code:12501,resolution = null}

0 个答案:

没有答案