Google+的问题登录

时间:2016-08-31 14:07:19

标签: android google-plus google-plus-signin android-googleapiclient

我在使用Google +登录时遇到问题, 这是我的googleApiClientBuilder

我在15-20次尝试之后成功登录了一次但在此之后没有问题,它总是在if (result.isSuccess())

的其他地方进行

我已经开始使用googleApi连接

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestScopes(new Scope(Plus.SCOPE_PLUS_LOGIN.toString()))
            .requestEmail()
            .requestId()
            .requestProfile()
            .build();
    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this, this)
            .addApi(Plus.API, Plus.PlusOptions.builder().build())
            .addScope(Plus.SCOPE_PLUS_LOGIN)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .build();
    SignInButton googlePlusSignInButton = (SignInButton) findViewById(R.id.act_reg_gpsi_login);
    if (googlePlusSignInButton != null) {

        googlePlusSignInButton.setScopes(gso.getScopeArray());
        googlePlusSignInButton.setOnClickListener(this);

    } 

登录手柄

private void handleSignInResult(GoogleSignInResult result) {
    if (result.isSuccess()) {
        // Signed in successfully, show authenticated UI.
        GoogleSignInAccount googleSignInAccount = result.getSignInAccount();
        if (googleSignInAccount != null) {
            pdLoginWithSocialMedia = UIUtility.createProgressDialog(this, "Please wait", "Logging in");
            performSocialLogin(LoginFrom.GOOGLE_PLUS,
                    googleSignInAccount.getId(),
                    googleSignInAccount.getDisplayName(),
                    (googleSignInAccount.getPhotoUrl() != null) ? googleSignInAccount.getPhotoUrl().toString() : "",
                    (googleSignInAccount.getPhotoUrl() != null) ? googleSignInAccount.getPhotoUrl().toString() : "",
                    googleSignInAccount.getEmail(),
                    "",
                    2);
        } else {
            showSignUpLoginIssue(ErrorIssue.ERR_UNKNOWN);
        }
//            updateUI(true);
    } else {
        showSignUpLoginIssue(ErrorIssue.ERR_UNKNOWN);
    }
}

StartActivity来处理响应

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    LISessionManager.getInstance(getApplicationContext()).onActivityResult(this, requestCode, resultCode, data);
    if (requestCode == RC_SIGN_IN) {
        if (resultCode == RESULT_OK) {
            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            handleSignInResult(result);
        int statusCode = result.getStatus().getStatusCode();
        } else {
            showSignUpLoginIssue(ErrorIssue.ERR_UNKNOWN);
        }
    } else {
        callbackManager.onActivityResult(requestCode, resultCode, data);
    }
}

0 个答案:

没有答案