我已经在我的原生Android应用程序中成功实现了facebook的授权。
现在我有以下问题:
用户从我的应用程序注销,我打电话给facebook sdk注销方法。但是当用户按下登录按钮时,它会自动重定向回我的应用程序而不显示“已经授权”窗口,因此他无法切换到其他用户。
这是正常行为还是我做错了什么?我该如何解决这个问题?
答案 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);
}
}