2013-05-27 14 views
5

私のアプリケーションでfacbook sdkを使用しています。私はFacebookのSDKを介して私のアプリケーションにログインしたとき、すべてが完璧に動作しますが、Facebook Appを開いてFacebook Appからログアウトすると、私のアプリはまだログオンしています。だから、Facebook SDKからログアウトイベントを聴くためにリスナーを追加するにはどうすればいいですか?Facebook Android SDKログアウトリスナー

+0

ヨあなたはできません。それはサポートされていません。 –

答えて

4

これは古い質問ですが、回答を更新したいと思います。

Facebook API 4.0(これは現在の記事です)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

Upvotedしかし、 "Log in Logic"がうまくいかず、ログアウトしても問題ありません。また、トラッカーを使用する場合は、内部的に受信者を使用しているため、「startTracking」と「stopTracking」を使用する必要があることがドキュメントに記載されています。https://developers.facebook.com/docs/facebook-login/アンドロイド/ v2.4 –

0

また、使用して試みることができる:

LoginManager.getInstance().logOut(); 

だから、あなたは再びそれを開いて、それがログアウトしていますかどうかを確認し、その後、それを閉じてアプリを開くことができます:

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

ベストの答え私は見つけた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."); 
       } 
      } 
     }; 
関連する問題