【问题标题】:onSaveInstanceState problem while making oAuth request发出 oAuth 请求时出现 onSaveInstanceState 问题
【发布时间】:2010-12-13 01:00:20
【问题描述】:

这是我的场景:

1) 在我的活动中,用户按下授权按钮。

2) 应用程序打开 WebView,其中加载了 Twitter 页面,并要求用户输入登录名和密码,然后按允许按钮。 (oAuth 实现,Twitter 需要它才能将您的应用与 Twitter 集成)

3) 远程服务器将带有 Token 和 Secret 的 Intent 传递回我的 Activity,然后我的 Activity 重新获得控制权。

我的问题:

当启动这个activity时,通过Intent,RowID变量被传递。当活动暂停或更改屏幕方向时,我将这个值保存在 onSavedInstanceState 中。在第 3 步中,当我的活动重新获得控制权时,我松开了这个 RowID 变量。我明白为什么,基本上活动是在执行 onResume 并从 Twitter 接收没有提及 RowID 的意图。 那么,如何保存我的 RowID 值并在活动恢复时检索它?我可以将它保存到 Preferences,但这样做是否正确?

任何建议, 谢谢。

【问题讨论】:

    标签: android twitter oauth state


    【解决方案1】:

    首选项是在这种情况下保存状态的正确方法。简单,轻松快捷。

    【讨论】:

    • 谢谢。然后我还有另一个问题困扰了我一段时间。为什么我不能总是使用 SharedPreferences 来保存我的活动状态?而不是使用 onSaveInstanceState。如果我要保存一两个变量,对我来说使用 SharedPreferences 似乎更简单(不是那么多)。
    • 更简单的通常是正确的答案。我一直使用首选项,从未使用过 onSaveInstanceState。两者都可能工作正常,但首选项对我来说工作正常,所以我不需要做任何其他事情。
    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 2019-08-08
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多