使用一项活动登录Facebook并使用其他活动注销

时间:2014-11-28 07:15:53

标签: android facebook logout

我正在使用Facebook登录app。我成功登录从app到facebook并且注销无法正常工作。我正在使用facebook sdk 3.0并在mainifest.xml中声明所有权限。这是注销按钮代码。

public void logoutFromFacebook() {
    mAsyncRunner.logout(this, new RequestListener() {
        @Override
        public void onComplete(String response, Object state) {

            Log.d("Logout from Facebook", response);

            if (Boolean.parseBoolean(response) == true) {
                runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        btnFbLogin.setVisibility(View.VISIBLE);
                        finish();
                        btnFbGetProfile.setVisibility(View.INVISIBLE);

                    }

                });

            }
        }

        @Override
        public void onIOException(IOException e, Object state) {
        }

        @Override
        public void onFileNotFoundException(FileNotFoundException e,
                Object state) {
        }

        @Override
        public void onMalformedURLException(MalformedURLException e,
                Object state) {
        }

        @Override
        public void onFacebookError(FacebookError e, Object state) {
        }
    });
}

请提前帮助,并提前致谢。

2 个答案:

答案 0 :(得分:2)

这种方法对我有用

public static void LogoutFB(Context context) {
    Session session = Session.getActiveSession();
    if (session != null) {

        if (!session.isClosed()) {
            session.closeAndClearTokenInformation();
            //clear your preferences if saved
        }
    } else {

        session = new Session(context);
        Session.setActiveSession(session);

        session.closeAndClearTokenInformation();
            //clear your preferences if saved

    }

}

答案 1 :(得分:1)

我用这个工作

// log out from facebook    

public static void callFacebookLogout(Context context) {
    Session session = Session.getActiveSession();
    if (session != null) {

        if (!session.isClosed()) {
            session.closeAndClearTokenInformation();
            // clear your preferences if saved
        }
    } else {
        session = new Session(context);
        Session.setActiveSession(session);
        session.closeAndClearTokenInformation();
        // clear your preferences if saved
    }
}