如何使用Facebook Android SDK切换授权的Facebook用户?

时间:2012-07-31 06:26:07

标签: android facebook facebook-graph-api facebook-android-sdk

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

现在我有以下问题:

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

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

2 个答案:

答案 0 :(得分:1)

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

以下是一些示例代码fyi。

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

答案 1 :(得分:0)

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

你应该通过HackBook code given by Facebook了解所有功能,你必须在SessionStore类中保存Facebook对象并相应地处理它:

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