12

Tôi đăng ở đây vì tôi gặp sự cố. Tôi đang làm việc trên một ứng dụng Android mới, và tôi muốn biết làm thế nào tôi có thể phát hiện khi người dùng đang ngắt kết nối (nút đăng xuất facebook), bởi vì tôi muốn làm mới giao diện người dùng của mình tại thời điểm này.Làm thế nào để phát hiện sự kiện đăng xuất bằng Facebook API Android v4?

Tôi đã được xem tài liệu chính thức, nhưng tôi không tìm thấy gì.

Trả lời

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

Cảm ơn mọi người, xin lỗi vì thời gian anwser, tôi đã đi du lịch ở Amazon vào tháng trước. – outstore

+1

Câu trả lời này không thực sự là một phần sự kiện dựa trên câu hỏi vì bạn phải thăm dò ý kiến ​​bằng cách sử dụng mã này. Đối với các cuộc gọi đăng xuất/đăng nhập, hãy sử dụng câu trả lời @ Nicolás Arias. –

26

Bạn có thể đặt người nghe vào phương pháp onCreate() trên hoạt động của bạn

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

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

Bạn cần phải nhập khẩu com.facebook.AccessTokencom.facebook.AccessTokenTracker

Khi bạn tạo ra các thể hiện của AccessTokenTracker nó ngầm bắt đầu theo dõi. Để ngừng theo dõi bạn nên gọi AccessTokenTracker.stopTracking() ví dụ: trong onDestroy() để không nhận được các sự kiện nữa khi không cần/muốn và đặc biệt là bộ nhớ không bị rò rỉ!

Bạn có thể lấy bất cứ lúc nào nếu người dùng đang đăng nhập vào/ra bằng cách gọi

AccessToken at = AccessToken.getCurrentAccessToken(); 

Nếu người dùng không đăng nhập, bạn sẽ có được một giá trị null.

Để tham khảo thêm xin vui lòng kiểm tra tài liệu tại https://developers.facebook.com/docs/reference/android/current/class/AccessTokenTracker/

+1

của nó cũng Import to gọi 'AccessTokenTracker.stopTracking() 'ví dụ trong 'onDestroy()' để ngừng nhận sự kiện, ví dụ: trong một hoạt động đã bị phá hủy! –

Các vấn đề liên quan