我正在制作一个使用 OAuth 向 Twitter 授权并发送推文的活动(编辑:我正在使用 Twitter4j)。为此,我必须首先从 Twitter 请求一个 RequestToken,然后用户到浏览器去授权应用程序,然后我被发送回 onNewIntent(),intent.getData() 中有一个授权字符串。我使用 RequestToken 和字符串来形成一个有效的 AccessToken。
据我了解,由于我的活动在用户退出浏览器时离开焦点,因此无法保证一旦我返回 onNewIntent(),我的会话状态将可用,这意味着我可能不再有 RequestToken哪个来制作 AccessToken。在理想情况下,我只需将 RequestToken 保存到 SharedPreferences 并稍后在需要时将其拉出。然而,在调查之后,这样做非常重要,因为我真的无法解构/重建 RequestToken 对象(AFAIK,如果你知道,请纠正我,因为这会更可取)。
所以我正在考虑实现 onSaveInstanceState() 和 onRestoreInstanceState() 但我只是没有掌握我读过的文档。在这种情况下,当我到达 onNewIntent() 时,我如何保证我的 RequestToken 对象(最好是我的状态的其余部分)在我身边供我使用?
谢谢,== 马特