现在我正在使用android Facebook集成。但注销无法正常工作。无法从我的浏览器退出手机我无法从我的应用程序退出。为什么会发生这种情况?。我们如何避免这种情况
答案 0 :(得分:0)
这里有两个独立的事情:
1)您的用户是否已通过Facebook和具有权限的应用程序进行身份验证
2)您的用户是否登录到Facebook。
首次使用您的应用时需要进行身份验证,并且持续到用户明确取消身份验证为止(例如,通过Facebook网络帐户设置 - >应用程序 - >应用程序设置)。
每次用户启动应用时都可能需要登录。但是,如果您使用默认的SDK authorize(),它会尝试执行单点登录(SSO),如果Facebook应用程序已登录,您的应用程序将自动登录并使用现有的访问令牌。
如果您正在使用SSO,当您进行注销时,这没有任何效果,因为真正的注销必须注销Facebook应用 - 用户可能不喜欢!
您可以通过对表单进行授权来解决此问题
authorize(this, PERMISSIONS, FORCE_DIALOG_AUTH, new LoginDialogListener());
避免SSO并强制对话登录。当然,这会强制您的用户每次启动您的应用程序时都会登录 - 除非您保存登录详细信息/访问令牌 封面(这是SDK的作用 - 检查来源)。
<强>编辑:强>
m_facebook.authorize(FacebookActivity.this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener()); class LoginDialogListener implements DialogListener { public void onComplete(Bundle p_values) { saveCredentials(m_facebook); if (m_messageToPost != null) { postToWall(m_messageToPost); } } public void onFacebookError(FacebookError p_error) { finish(); } public void onError(DialogError p_error) { finish(); } public void onCancel() { finish(); } }