现在我可以登录 facebook 并注销它,但我的问题是,假设用户已经在我们的应用程序之外登录到 facebook,当他再次打开我们的应用程序时,它会要求 login 。
当他在我的应用程序之外登录时,我可以让用户直接登录到 Facebook 吗?如果是的话,任何人都可以指导我如何做到这一点。目前正在模拟器中进行测试。我的应用程序是在 api 16 中构建的。感谢您的帮助
对于 Facebook SDK 尝试在此使用 SSO(单点注销),它将自动检查会话是否为空或已维护。如果为null,那么它将弹出登录/登录,然后它会简单地重定向您想要的页面
以检查会话,如果您愿意,那么您可以使用它
Session session = Session.getActiveSession();
想象一下,当您登录到任何 Web 应用程序时,比如说gmail
or quora
,那么您必须知道有一个为该用户维护的会话。
同样,当您在手机上登录 facebook 时,会维护一个会话,这不会持续很长时间,但我猜facebook 在内部使用它的sharedpreferences 文件来执行此操作。
现在阅读这些sharedpreferences文件,Facebook 提供了一些使用它们的帮助方法,您可以确定用户是否登录到官方 Facebook 应用程序。
此外,您的应用程序中有一个活动,您决定要求用户登录或将他重定向到下一个屏幕(知道他已经登录)。
这是来自官方 SDK 的一种方法,可以让您了解用户的会话状态,
Session session = Session.getActiveSession();
如果 session 的值不是null
那么你可以使用,sessionCallback
并决定用户是否登录。