我使用facebook for android sdk for SSO。
我的活动调用fb.authorize()
功能来执行OAuth。在此函数中,我提供了对DialogListener
对象的引用,该对象负责根据OAuth结果采取适当的操作。当用户从FB App返回并且DialogListener对象丢失时,操作系统可能已经杀死了活动。在这种情况下,没有办法获得我们应该在DialogListener中获得的AccessTokens。
如何处理这种情况?
答案 0 :(得分:0)
您可以致电:
mFB.getAccessToken()
但您可以将会话存储在SharedPreferences中以在本地重用它。代币将过期,并在需要时再次请求和存储。
答案 1 :(得分:0)
我自己也在回答这个问题。
执行OAuth后的Facebook应用返回结果我们在onActivityResult();
中获得的意图数据需要在mFB.authorizeCallback()
中调用onActivityResult
。
如果查看此函数的来源,您将知道如何从意图数据中提取它。这样做可以在onActivityResult中获取访问令牌。