2013-05-27 24 views
5

Tôi đang sử dụng SDK facbook trong ứng dụng của mình. khi tôi đăng nhập vào ứng dụng của tôi thông qua facebook sdk, mọi thứ hoạt động hoàn hảo, nhưng khi tôi mở ứng dụng Facebook và đăng xuất khỏi ứng dụng Facebook, ứng dụng của tôi vẫn đăng nhập. Vậy làm thế nào để tôi thêm một người nghe để nghe sự kiện đăng xuất từ ​​Facebook SDK?Trình lắng nghe đăng xuất SDK Android của Android

+0

Yo bạn không thể. Nó không được hỗ trợ. –

Trả lời

4

Đây là câu hỏi cũ nhưng tôi muốn cập nhật câu trả lời.

Trong Facebook API 4.0 (Vì đó là hiện tại bằng văn bản) Bạn có thể sử dụng AccessTokenTracker.

AccessTokenTracker accessTokenTracker = new AccessTokenTracker() { 
     @Override 
     protected void onCurrentAccessTokenChanged(AccessToken accessToken, AccessToken accessToken2) { 
      Log.d(TAG, "onCurrentAccessTokenChanged()"); 
      if (accessToken == null) { 
       // Log in Logic 
      } else if (accessToken2 == null) { 
       // Log out logic 
      } 
     } 
    }; 
+0

Được thăng hạng nhưng "Đăng nhập logic" không hoạt động - đăng xuất là tốt. Cũng lưu ý rằng tài liệu nói rằng nếu bạn định sử dụng trình theo dõi, bạn cần đảm bảo rằng nó sử dụng "startTracking" và "stopTracking" vì nội bộ chúng sử dụng bộ thu: https://developers.facebook.com/docs/facebook-login/ android/v2.4 –

0

Bạn cũng có thể thử sử dụng:

LoginManager.getInstance().logOut(); 

Vì vậy, bạn có thể mở ứng dụng của bạn sau đó đóng nó lại, sau đó mở lại và xem nếu nó thoát khỏi:

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    LoginManager.getInstance().logOut(); 
} 
1

câu trả lời hay nhất Tôi tìm thấy trên Listen for Facebook logout with the LoginButton. (4.1)

private AccessTokenTracker fbTracker; 
... 
fbTracker = new AccessTokenTracker() { 
      @Override 
      protected void onCurrentAccessTokenChanged(AccessToken accessToken, AccessToken accessToken2) { 
       if (accessToken2 == null) { 
        Log.d("FB", "User Logged Out."); 
       } 
      } 
     };