0

我将 facebook 用于 android sdk 用于 SSO。

我的活动调用fb.authorize()函数来执行 OAuth。在这个函数中,我给出了一个对DialogListener负责根据 OAuth 结果采取适当措施的对象的引用。当用户从 FB 应用程序返回并且 DialogListener 对象丢失时,操作系统可能已经终止了该活动。在这种情况下,无法获得我们应该在 DialogListener 中获得的 AccessToken。

如何处理这种情况?

4

2 回答 2

0

您可以致电:

mFB.getAccessToken()

但是您可以将会话存储在 SharedPreferences 中以在本地重用它。令牌将过期,并在再次需要时被请求和存储。

https://github.com/facebook/facebook-android-sdk/blob/master/examples/simple/src/com/facebook/android/SessionStore.java

于 2012-08-03T13:57:55.687 回答
0

我自己回答这个问题。

执行 OAuth 后的 Facebook 应用程序返回的结果是我们获取的意图数据。它onActivityResult();需要调用mFB.authorizeCallback()onActivityResult

如果您查看此函数的来源,您将知道如何从意图数据中提取它。这样做你可以在 onActivityResult 中获得访问令牌。

这是源链接 https://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/com/facebook/android/Facebook.java#L417

于 2012-11-27T09:42:35.880 回答