簡體   English   中英

Android谷歌:在另一項活動中注銷谷歌

[英]Android google: Logout google in another activity

我使用com.google.android.gms.common.SignInButton在A中創建登錄谷歌應用程序。然后我創建另一個活動B使用按鈕android自定義注銷此連接谷歌。 但是,當我在活動B的A活動中調用靜態方法注銷時,我無法注銷此連接谷歌。誰對我的問題有任何理想? 我用戶

private GoogleApiClient mGoogleApiClient;
    private boolean mIntentInProgress;
    private boolean mSignInClicked;
    private ConnectionResult mConnectionResult; 

在一項活動中。 並通過調用方法為Bactivity中的按鈕注銷設置OnclickListioner

public static void signOutFromGplus() {
        if (mGoogleApiClient.isConnected()) {
            Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
            mGoogleApiClient.disconnect();
            Toast.makeText(this, getString(R.string.logout_status) , Toast.LENGTH_LONG).show();
            MyLog.info(getString(R.string.logout_status));
        }
    }

但我給出了日志錯誤:Google api客戶端必須連接。 請幫幫我...對不起我的英語不好

您必須使用GoogleApiClient創建一個Singleton。 然后你可以從另一個活動調用這個對象(在這種情況下為B)

GoogleApiClient googleApiClient;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home); //B Activity

GoogleApiClientHelper googleApiClientHelper = GoogleApiClientHelper.getInstance(getApplicationContext());
googleApiClient = googleApiClientHelper.getGoogleApiClient();
}

然后,您可以退出

    private void doLogOut() {
    if ( googleApiClient.isConnected() ) {
        Plus.AccountApi.clearDefaultAccount(googleApiClient);
        googleApiClient.disconnect();
        googleApiClient.connect();

        Intent loginActivity = new Intent(this, LoginActivity.class);
        startActivity(loginActivity);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM