【问题标题】:Why does GoogleApiClient successfully connects even if I don't provide it with an account?为什么即使我没有提供帐户 GoogleApiClient 也能成功连接?
【发布时间】:2016-07-05 15:40:42
【问题描述】:

我正在尝试在我的 Android 应用中实现 Google 登录。

这是我的代码:

public class SignIn extends AppCompatActivity implements  GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {

    private GoogleSignInOptions gso;
    private GoogleApiClient mGoogleApiClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sign_in);
        gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestProfile()
                .requestEmail()
                .build();
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addOnConnectionFailedListener(this)
                .addConnectionCallbacks(this)
                .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                .build();
        mGoogleApiClient.connect();

    }

    @Override
    public void onConnected(Bundle bundle) {
        Toast.makeText(this, "CONNECTED", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onConnectionSuspended(int i) {
    }

    @Override
    public void onConnectionFailed(ConnectionResult connectionResult) {
            Toast.makeText(this, "FAILED", Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onStop() {
        super.onStop();
        mGoogleApiClient.disconnect();
    }

}

根据this 指南,在用户未登录时尝试连接应导致 onConnectionFailed 回调。但是,此代码始终显示“已连接”toast,即使我从未授权该应用程序。

我到底误会了什么?如果此方法不起作用,我应该如何检查用户是否已登录?

【问题讨论】:

    标签: android authentication google-authentication


    【解决方案1】:

    当 onConnected 方法调用时,它并不意味着 User is signed in.这意味着 mGoogleApiCLient 已连接。

    在此回调之后,应用程序可以对客户端提供的其他方法进行请求。

    您可以从这里获取reference

    【讨论】:

    • 好的,那我如何检查用户是否登录?
    猜你喜欢
    • 2017-03-06
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 2018-04-30
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多