Facebook SDK 从 2.5 升级到 2.12

Facebook SDK upgrading from 2.5 to 2.12

之前我会有一个 Session fbSession; 对象,我在使用 FacebookFragment 登录时会得到该对象。 在从我的应用程序注销时,为了清理我的会话,我会这样做。

if (PSSocialService.getInstance().fbSession != null) {
                PSSocialService.getInstance().fbSession.closeAndClearTokenInformation();
            }

但是现在,已经没有Session了。而登录只是给了我登录结果。 所以我想了解,如果我想注销我的应用程序,我该如何设置?

这是我目前的登录实现,如果有帮助的话:

 fbButton.registerCallback(psSignInFlowActivity.mCallbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            loginResult.getAccessToken();
            loader.setVisibility(View.VISIBLE);
            if (PSApplicationClass.getInstance().pref.getUserId(getActivity()) == null)
                PSUser.authenticate(getActivity(), Constants.FB,   loginResult.getAccessToken().getToken(), null, loader, backFromAuth);
        }

        @Override
        public void onCancel() {
            loader.setVisibility(View.GONE);
        }

        @Override
        public void onError(FacebookException e) {
            // Handle exception
        }
    });

使用新的 SDK 发现这比预期的要容易得多。 您可以像这样简单地注销您的 FB 会话:

        LoginManager.getInstance().logOut();