12

Ich poste hier, weil ich ein Problem habe. Ich arbeite an einer neuen Android-Anwendung, und ich möchte wissen, wie ich feststellen kann, wenn ein Benutzer trennt (Facebook Logout-Taste), weil ich meine Benutzeroberfläche in diesem Moment aktualisieren möchte.Wie erkennt man das Logout-Ereignis mit der Facebook Android API v4?

Ich habe die offizielle Dokumentation beobachtet, aber ich habe nichts gefunden.

Antwort

8
You can try this also 
if(AccessToken.getCurrentAccessToken()!=null) 
{ 
    Log.v("User is login","YES"); 

} 
else 
{ 
     Log.v("User is not login","OK"); 
     LoginManager.getInstance().logInWithReadPermissions(WelcomeActivity1.this, (Arrays.asList("public_profile", "user_friends","user_birthday","user_about_me","email"))); 
} 
+0

Danke @ everybody, sorry für anwser Zeit, ich war letzten Monat in Amazonia unterwegs. – outstore

+1

Dies beantwortet nicht wirklich den ereignisbasierten Teil der Frage, da Sie mit diesem Code abfragen müssen. Für Logout/Login Callbacks benutzen Sie @ Nicolás Arias antwort. –

26

Sie können einen Listener auf dem onCreate() Methode auf Aktivität eingestellt

AccessTokenTracker accessTokenTracker = new AccessTokenTracker() { 
     @Override 
     protected void onCurrentAccessTokenChanged(
       AccessToken oldAccessToken, 
       AccessToken currentAccessToken) { 

      if (currentAccessToken == null){ 
       //User logged out 
      } 
     } 
    }; 

Sie benötigen com.facebook.AccessToken und com.facebook.AccessTokenTracker

importieren Wenn Sie die Instanz von AccessTokenTracker erstellen es Tracking beginnt implizit. Für stoppen Tracking sollten Sie rufen Sie AccessTokenTracker.stopTracking() z. in onDestroy() nicht mehr Ereignisse zu empfangen, wenn nicht benötigt/wollte und vor allem nicht aus dem Speicher!

Sie jederzeit erhalten können, wenn der Benutzer in/out angemeldet ist durch

AccessToken at = AccessToken.getCurrentAccessToken(); 

Aufruf Wenn der Benutzer nicht angemeldet ist, erhalten Sie einen null Wert.

Weitere Referenz überprüfen Sie bitte in der Dokumentation unter https://developers.facebook.com/docs/reference/android/current/class/AccessTokenTracker/

+1

Sein auch nennen Import zu 'AccessTokenTracker.stopTracking()' z.B. in 'onDestroy()', um das Empfangen von Ereignissen z.B. in einer bereits zerstörten Aktivität! –