Android 无法通过Google登录登录到Google帐户

Android 无法通过Google登录登录到Google帐户,android,google-play-services,google-signin,Android,Google Play Services,Google Signin,我有一个关于谷歌签名图书馆的问题。 在我的应用程序中,我试图使用Google帐户登录,但请求权限(如脱机访问)的对话框出现循环 请注意,此问题仅在一台设备上复制,在其他设备上运行良好。所以我假设这个问题与Google控制台上的客户端Id配置无关,等等 设备:小米红米注2 Android版本:5.0.2 LRX22G 播放服务:11.5.09(248-164803921) 渐变依赖项: 编译“com.google.android.gms:play services auth:11.0.4” 步

我有一个关于谷歌签名图书馆的问题。 在我的应用程序中,我试图使用Google帐户登录,但请求权限(如脱机访问)的对话框出现循环

请注意,此问题仅在一台设备上复制,在其他设备上运行良好。所以我假设这个问题与Google控制台上的客户端Id配置无关,等等

  • 设备:小米红米注2
  • Android版本:5.0.2 LRX22G
  • 播放服务:11.5.09(248-164803921)
  • 渐变依赖项: 编译“com.google.android.gms:play services auth:11.0.4”
步骤:

  • 运行登录过程:

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

  • 对话框弹出。单击“允许”

  • 结果:单击“允许”按钮后,此对话框再次弹出

    你可以看到楼梯上的台阶


    更多细节

    在这些步骤之后,我可以在OnActivityResult方法中得到一个错误

    步骤():

  • 转到系统设置->帐户并删除我尝试登录的帐户
  • 切换回应用程序
  • 单击登录图标(执行之前显示的代码)
  • 打开一个活动,其中说明我已注销帐户,必须重新登录
  • 单击“下一步”,输入密码,然后单击“下一步”

  • 结果:在OnActivityResult中,返回一个意图,结果代码为:ACTIVITY_Cancelled,出现错误:状态{statusCode=未知状态代码:12501,resolution=null}

    您是否尝试过此链接中提供的解决方案否,没有任何适合我的解决方案。问题在于
    .requestServerAuthCode(BuildConfig.GOOGLE\u WEB\u CLIENT\u ID,true)
    行中的问题。没有此授权可以工作,但我需要ServerAuthCode如果此功能在其他设备上工作,而不是在您的小米手机上,这难道不是设备问题吗?为了证实这一点,请在其他Android版本上尝试:5.0.2 LRX22G手机,如三星等。您能解决这个问题吗?你还记得怎么做的吗?