Android:Google登录期间的无限循环

时间:2017-07-14 08:04:18

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

我的应用程序已经使用Google登录了几年了。我几个月前重新开始实施,直到最近才出现问题。 现在,几个星期前,登录已停止工作。当我尝试它时,登录永远不会完成,但会保持无限循环,一遍又一遍地显示“连接”屏幕。

  • 互联网连接正常
  • 这种情况发生在许多用户身上(不确定它是否会影响所有Google登录用户)
  • 我已尝试清除Google Play服务的缓存
  • Google API客户端仍然已连接
  • 我尝试将所有相关的Google库更新为最新版本
  • 我在Android 6上看到了这一点 - 不确定其他版本是否受到影响

在发布我的代码之前,我想指出登录永远不会返回。在我主动取消登录之前永远不会达到回调(此时它的行为与预期一致。我还想再次强调我的代码已经存在了相当长的一段时间才发生 - 可能在Google方面有所改变......

我没有想法,急需帮助。有什么想法吗?

onCreate中创建API客户端:

GoogleSignInOptions googleSignInOptions = googleSignInOptionsBuilder
        .build();

googleApiClient = new GoogleApiClient.Builder(this)
        .enableAutoManage(this,
                new GoogleApiClient.OnConnectionFailedListener() {
                    @Override
                    public void onConnectionFailed(
                            @NonNull ConnectionResult connectionResult) {
                        Logger.error("Google API connection failed");
                    }
                })
        .addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
        .addApi(Games.API)
        .build();

实际登录方法:

public void signInWithGoogle() {
    logToServer("Google Sign-In Started");
    Intent signInIntent = Auth.GoogleSignInApi
            .getSignInIntent(googleApiClient);
    startActivityForResult(signInIntent,
            GameConstants.GOOGLE_REQUEST_CODE_SIGN_IN);
}

回叫(从未触及)

@Override
protected void onActivityResult(final int requestCode, int response,
        Intent data) {
    super.onActivityResult(requestCode, response, data);

    if (requestCode == GameConstants.GOOGLE_REQUEST_CODE_SIGN_IN) {
        GoogleSignInResult result = Auth.GoogleSignInApi
                .getSignInResultFromIntent(data);
        handleGoogleSignInResult(result);
    }
}

...

1 个答案:

答案 0 :(得分:0)

如果仍然存在此问题,这是解决方法:

您可能忘记了在Firebase上切换Google身份验证

您只需要登录console.firebase.google.com->单击左侧的身份验证->单击登录方法->选择Google,然后将开关拨动即可激活。