2

我在我的应用程序中使用 Facebook SDK 3.0。我可以通过 Facebook 示例中提供的会话登录示例获取用户详细信息,例如访问令牌、电子邮件和姓名。我正在初始化会话对象并在登录页面本身上获取访问令牌、电子邮件和名称。完成获取电子邮件和访问令牌后,我将它们保存在共享首选项中并将用户发送到主活动并清除活动堆栈。

现在的问题是,用户导航到整个应用程序,然后它降落在一个页面上,在那里他可以选择在他的 Facebook 墙上分享一些东西。截至目前,我唯一拥有的是访问令牌。我的问题是,我现在该怎么办?我的意思是,我显然不希望用户再次登录 Facebook 并发布到墙上。我只想让用户点击一个按钮,故事应该会自动分享到他的 Facebook 墙上。我该怎么做?我应该通过 Intent 传递会话对象吗?我是否应该使用保存在共享首选项中的访问令牌开始一个新会话,我应该怎么做?

我发现了很多关于 Facebook SDK 3.0 的问题,但没有一个可以为我提供我正在寻找的东西。有人可以解释一下吗?

4

2 回答 2

3

您无需显式保存访问令牌,或使用访问令牌重新创建会话,SDK 已经为您完成了这项工作!

只需在所有活动中使用活动会话,如果您获得的活动会话为空,则打开一个新的活动会话。

活动会话是 Session 类中的静态会话,这意味着它在活动之间保留,即使它们“完成”。

如果用户已经授权您的应用程序,则活动会话还将自动加载访问令牌。

于 2013-05-28T16:38:48.033 回答
1

如果用户第一次登录,应该创建一个会话。我认为,只要应用程序没有关闭会话,用户就不必再次登录。您可以通过以下方式获得活动会话Session.getActiveSession()

于 2013-05-23T17:41:02.910 回答