将 GoogleApiClient 传递给另一个 activity

Pass GoogleApiClient to another activity

我已经阅读了相关主题,但找不到解决方案。 我需要在声明 GoogleApiClient 的另一个 activity 中注销。 在注销 activity 中,我使用此代码进行注销

Auth.GoogleSignInApi.signOut(myGoogleApiClient);

为了获取 myGoogleApiClient,我尝试在 LoginActivity 中初始化 mGoogleApiClient "public static",我还尝试使用单例获取 class 的实例,然后获取客户端。

但我总是得到错误:java.lang.IllegalStateException: GoogleApiClient is not connected yet.

你只需要添加连接功能

mGoogleApiClient.connect();
mGoogleApiClient.registerConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
    @Override
    public void onConnected(@Nullable Bundle bundle) {
        Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
                new ResultCallback<Status>() {
                    @Override
                    public void onResult(Status status) {
                        // Get sign out result
                    }
                });
    }

    @Override
    public void onConnectionSuspended(int i) {

    }
});