4

我已经在我的原生 android 应用程序中成功实现了对 facebook 的授权。

现在我有以下问题:

用户从我的应用程序中注销,我调用 facebook sdk 注销方法。但是当用户按下登录按钮时,它会自动重定向回我的应用程序而不显示“已授权”窗口,因此他无法切换到另一个用户。

这是正常行为还是我做错了什么?我该如何解决这个问题?

4

2 回答 2

1

如果您想切换到其他用户,您可以参考Facebook SDK for Android中的“SwitchUserSample” 。

这是一些示例代码仅供参考。

Session currentSession = Session.getActiveSession();
currentSession.closeAndClearTokenInformation();
newSession = new Session.Builder(LoginActivity.this).build();
newSession.openForRead(new Session.OpenRequest(LoginActivity.this)
                            .setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO)
                            .setCallback(statusCallback));
于 2013-02-06T04:53:51.657 回答
0

不,这不是默认的,我们可以切换用户。在您进行注销时,您没有正确清除凭据,因此会出现此类问题,因此您需要完美地删除凭据。

您应该通过Facebook 为所有功能提供的 HackBook 代码,您必须将 Facebook 对象保存在 SessionStore 类中并相应地处理它:

 private class SessionListener implements AuthListener, LogoutListener {

    @Override
    public void onAuthSucceed() {
        setImageResource(R.drawable.logout_button);
        SessionStore.save(mFb, getContext());
    }

    @Override
    public void onAuthFail(String error) {
    }

    @Override
    public void onLogoutBegin() {
    }

    @Override
    public void onLogoutFinish() {
        SessionStore.clear(getContext());
        setImageResource(R.drawable.login_button);
    }
}
于 2012-07-31T06:48:02.930 回答