我在我的应用中使用Facebook SDK 3.0。我可以通过Facebook示例中提供的会话登录示例获取访问令牌,电子邮件和姓名等用户详细信息。我正在初始化会话对象并在登录页面上获取访问令牌,电子邮件和名称。完成电子邮件和访问令牌后,我将它们保存在共享首选项中,并将用户发送到主页活动并清除活动堆栈。
现在的问题是,用户导航到整个应用程序,它落在一个页面,在那里他可以选择在他的Facebook墙上分享一些东西。截至目前,我唯一拥有的是访问令牌。我的问题是,我现在该怎么办?我的意思是,我显然不希望用户再次登录Facebook并发布到墙上。我只想让用户点击一个按钮,故事应该自动在他的Facebook墙上分享。我该怎么办?我应该通过Intent传递会话对象吗?我应该使用共享首选项中保存的访问令牌开始新会话吗?我该怎么做?
我发现了很多关于Facebook SDK 3.0的问题,但没有一个能为我提供我正在寻找的东西。有人可以对此有所了解吗?
答案 0 :(得分:3)
您无需显式保存访问令牌,也无需使用访问令牌重新创建会话,SDK已经为您执行此操作!
只需在所有活动中使用活动会话,如果获得的会话为空,则打开一个新的活动会话。
活动会话是Session类中的一个静态会话,这意味着它会在活动中保留,即使它们“完成”。
如果用户已经授权您的应用,活动会话也会自动加载访问令牌。
答案 1 :(得分:1)
如果用户第一次进入,则应创建会话。
我认为,只要会话没有被应用程序关闭,用户就不必再次登录。您可以使用Session.getActiveSession()