2012-12-02 85 views
3

您好我正在使用Facebook sdk3.0爲Android。我如何檢查用戶是否登錄?Android FB SDK3.0 - 如何檢查用戶是否已登錄?

目前我使用的是這樣的:

public static boolean isUserLoggedInWithFacebook() { 
    Session session = Session.getActiveSession(); 
    if(session != null && session.isOpened()) 
     return true; 
    return false; 
} 

但它有時會false而用戶在仍處於登錄

+0

似乎很好的方法..你有沒有找到更好的版本? – Paul

+0

那時候它運行不好,所以我不得不與舊的API混合。儘管我現在不確定。 – xiangxin

回答

0

嘗試使用facebook.isSessionValid()。如果用戶註銷,它應該返回false。

+0

這工作完美。只是我試圖避免舊的API。我知道facebook.isSessionValid()不是。但我沒有使用facebook.authorize()在開始時登錄用戶。我所處理的是會話。如果我在我的函數中使用Facebook創建Facebook對象fb = new Facebook(「my_api_key」);我必須設置其訪問令牌和過期日期,並且這些功能已過期。:S – xiangxin

+0

您可以提供有關如何創建和關閉會話的更多詳細信息,以及「用戶仍然登錄」的含義會話未打開? 此外,僅僅因爲會話在客戶端仍處於打開狀態,並不總是表示用戶仍然「已登錄」,或者您的應用仍處於授權狀態。確定這一點的唯一方法是提出「我」請求,並確保沒有任何錯誤。 –