安卓Facebook SDK - 如何以另一个用户身份登录?

8

我在我的应用程序中使用官方的Facebook Android SDK。

我已经成功登录,但是当我尝试以另一个用户身份登录时出现问题:

  • 我点击链接,该链接显示为“已登录为[name]…不是你?”,
  • 但是我的应用程序仍然继续,而且会发布到我的墙上……(就好像我点击了“允许”一样)

我发现点击该链接会导致 Facebook 异常并重试请求,因此我尝试在 catch 子句中调用 logout() 方法。

这使得可以作为 新用户 登录,但是下次运行应用程序时,
仍然会登录旧用户…(已登录为[old_user]。不是你?)

我的问题是:
为什么第一个用户的登录永久存在?
如何正确地处理“不是你”的链接点击?

我目前的解决方案是,在每次调用 authorize() 方法之前始终调用 logout() 方法,
但这迫使用户必须始终输入他/她的电子邮件/密码,这也是不能接受的。


1
Facebook SDK的集成对许多程序员来说是一个真正的头痛。我想知道什么时候我才能看到一个简单而稳定的Facebook SDK,就像现在运行的那样。 - Rohit Sharma
2
@Javanator 我不明白为什么一个如此重要的函数会出现无法正常工作的情况... - Bojan Radivojevic
1个回答

0

Facebook访问令牌由SessionStore保存。 当登录Facebook时,它会尝试从SessionStore恢复访问令牌。 因此,我认为当用户退出您的应用程序时,您可以明确地调用facebook.logout和SessionStore.clear()。


2
请问您能告诉我如何做到这一点吗? - Md Maidul Islam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接