如何使用 Facebook Android API v4 检测注销事件?

How to detect logout event with the Facebook Android API v4?

我 post 在这里是因为我遇到了问题。 我正在开发一个新的 android 应用程序,我想知道如何检测用户何时断开连接(Facebook 注销按钮),因为此时我想刷新我的 UI。

看了官方文档,没找到。

您可以在 activity

上的 onCreate() 方法上设置侦听器
AccessTokenTracker accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(
                AccessToken oldAccessToken,
                AccessToken currentAccessToken) {

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

您需要导入 com.facebook.AccessTokencom.facebook.AccessTokenTracker

当您创建 AccessTokenTracker 实例时,它隐式 开始跟踪。对于 停止 跟踪,您应该调用 AccessTokenTracker.stopTracking() 例如在 onDestroy() 中不再接收事件而不是 needed/wanted 尤其是不要泄漏内存!

如果用户已登录,您可以随时通过调用

获取in/out
AccessToken at = AccessToken.getCurrentAccessToken();

如果用户未登录,您将得到一个 null 值。

如需进一步参考,请查看 https://developers.facebook.com/docs/reference/android/current/class/AccessTokenTracker/

中的文档

你也可以试试这个

 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")));
 }