2013-07-09 4 views
7

からは、グーグルのaccessTokenを使用するには、プラス1つのアクティビティでは、Androidのアプリケーションでは、異なる活動

をアンドロイドでユーザーをサインアウトする方法、私がグーグルを使用してログインすることができ、プラスとしては、ここで説明: https://developers.google.com/+/mobile/android/sign-in

しかし、私別の活動からgoogle plusからログアウトしたい だから私がログアウトボタンをクリックすると、私はこのコードを実行しています...しかし、ここでisConnected()メソッドは、ユーザーがもはや接続されていないので、常にfalseを返します..どのように私はAccessTokenを使用してユーザーを接続できますか?

if (mPlusClient.isConnected()) { 
     mPlusClient.clearDefaultAccount(); 
     mPlusClient.disconnect(); 
     Log.d(TAG, "User is disconnected."); 
    } 

どのように私は異なる活動からユーザーをログアウトするためにアクセストークンを使用できますか?

ご協力いただければ幸いです。

+0

解決策が見つかった場合は、お気軽にご相談ください。 –

答えて

0

サインインはアプリ全体に適用されるため、アプリ内のどこからでもサインアウトすることができます。

サインアウトしてください。

Activity.onCreateハンドラでGoogleApiClientオブジェクトを初期化します。

private GoogleApiClient mGoogleApiClient; 

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

mGoogleApiClient = new GoogleApiClient.Builder(this) 
    .addConnectionCallbacks(this) 
    .addOnConnectionFailedListener(this) 
    .addApi(Plus.API) 
    .addScope(Plus.SCOPE_PLUS_LOGIN) 
    .build(); 
} 

Activity.onStart中にGoogleApiClient.connectを呼び出します。

protected void onStart() { 
super.onStart(); 
mGoogleApiClient.connect(); 
} 


//process sign out in click of button. 
@Override 
public void onClick(View view) { 
    if (view.getId() == R.id.sign_out_button) { 
    if (mGoogleApiClient.isConnected()) { 
     Plus.AccountApi.clearDefaultAccount(mGoogleApiClient); 
     mGoogleApiClient.disconnect(); 
     mGoogleApiClient.connect(); //may not be needed 
    } 
    } 
} 
関連する問題