2013-07-09 12 views
7

In Android Application,Come utilizzare access token di Google Plus per essere l'uscita utente in Android di diversa attività

In una sola attività, posso accedere utilizzando Google Plus, come descritto qui: https://developers.google.com/+/mobile/android/sign-in

Ma io vuoi disconnetterti da google plus da attività diverse. Quindi, quando faccio clic sul pulsante Esci, eseguo questo codice ... Ma qui il metodo isConnected() restituisce sempre false perché l'utente non è più connesso .. Quindi come posso connettere l'utente usando AccessToken Quale registro dalla prima attività?

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

Così come posso utilizzare token di accesso per eseguire il logout dell'utente dalla diversa attività?

Qualsiasi aiuto sarà apprezzato.

+0

Se hai trovato una soluzione per favore condividi. –

risposta

0

Il signin è per l'intera applicazione in modo da poter uscire in qualsiasi parte del app.

Attività di signout.

inizializzare l'oggetto GoogleApiClient nel gestore 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(); 
} 

Richiamare GoogleApiClient.connect durante 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 
    } 
    } 
} 
Problemi correlati