1

从我的应用程序中,我正在尝试访问 facebook。要求就像在两个活动中我可以登录到 facebook,而我只能从一个活动中注销。考虑活动 A 和 B,我可以从活动 A 和 B 登录到 facebook,并且我只能在从活动 B 注销后从活动 B 注销,如果我尝试从活动 A 访问 facebook,它应该要求登录。现在它不从登录询问,直接显示应用认证页面在此处输入图像描述

它没有正确注销。这是我的代码。

protected Handler mHandler = new Handler();
private final class FBLogoutListener implements RequestListener {
    @Override
    public void onComplete(String arg0, Object arg1) {
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                Log.w(TAG,"onComplete:");
                FacebookUtility.clear();
            }
        });
    }
    @Override
    public void onFacebookError(FacebookError arg0, Object arg1) {}
    @Override
    public void onFileNotFoundException(FileNotFoundException arg0,
            Object arg1) {}
    @Override
    public void onIOException(IOException arg0, Object arg1) {}

    @Override
    public void onMalformedURLException(MalformedURLException arg0,
            Object arg1) {}
}

AsyncFacebookRunner facebookRunner = new AsyncFacebookRunner(FacebookUtility.mFB);
FBLogoutListener logoutListener = new FBLogoutListener();
facebookRunner.logout(this,logoutListener);

任何解决方案,我做错了。

4

2 回答 2

2

如果您使用登录管理器类登录,那么这一行代码就足够了。

// Facebook logout
            LoginManager.getInstance().logOut();

这对我有用..

于 2016-04-16T07:26:50.663 回答
0

FB 在另一个活动中注销:

// FB登出

    Session session = Session.getActiveSession();
                                if (session != null) {
                                    if (!session.isClosed()) {
                                        session.closeAndClearTokenInformation();
                                    }
                                } else {
                                    session = new Session(MainActivity.this);
                                    Session.setActiveSession(session);
                                    session.closeAndClearTokenInformation();
                                }

                                preferenceHelper.onLogOut();
                                finish();
                                startActivity(new Intent(MainActivity.this,
                                        LoginActivity.class));
于 2016-04-16T07:29:56.073 回答