2013-07-09 8 views
7

W Android,Jak korzystać accessToken z Google Plus, aby wylogować użytkownika w Androidzie z różnej aktywności

W jednej czynności, mogę zalogować się przy użyciu Google Plus, jak opisano tutaj: https://developers.google.com/+/mobile/android/sign-in

Ale ja chcesz wylogować się z Google Plus z innej aktywności. Kiedy klikam przycisk Wyloguj, uruchamiam ten kod ... Ale tutaj metodaConnected() zawsze zwraca wartość false, ponieważ użytkownik nie jest już podłączony .. Tak jak mogę połączyć użytkownika za pomocą AccessToken Który przechowuję od pierwszego działania?

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

Jak mogę użyć tokena dostępu do wylogowania użytkownika z innej aktywności?

Każda pomoc zostanie doceniona.

+0

Jeśli znalazłeś rozwiązanie, udostępnij je. –

Odpowiedz

0

Logowanie dotyczy całej aplikacji, dzięki czemu można się wylogować w dowolnym miejscu aplikacji.

Aktywność wylogowania.

Zainicjuj obiekt GoogleApiClient w module Activity.onCreate.

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(); 
} 

Invoke GoogleApiClient.connect podczas Activity.onStart.

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 
    } 
    } 
} 
Powiązane problemy