应用程序被杀后,Facebook SSO会返回

时间:2012-08-03 12:51:12

标签: android facebook-android-sdk

我使用facebook for android sdk for SSO。

我的活动调用fb.authorize()功能来执行OAuth。在此函数中,我提供了对DialogListener对象的引用,该对象负责根据OAuth结果采取适当的操作。当用户从FB App返回并且DialogListener对象丢失时,操作系统可能已经杀死了活动。在这种情况下,没有办法获得我们应该在DialogListener中获得的AccessTokens。

如何处理这种情况?

2 个答案:

答案 0 :(得分:0)

您可以致电:

mFB.getAccessToken()

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

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

答案 1 :(得分: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