如何在按下后退按钮时保存Android应用中唯一的活动状态?

时间:2013-10-07 17:07:42

标签: android state

我正在创建一个只有一个Activity的应用。当我按下主页或最近的应用程序按钮时,状态被正确保存,当我回到应用程序时,一切都在那里。当我按“返回”按钮并稍后返回应用程序时,savedInstanceState中的onCreate始终为空。我已经读过按下后退按钮时状态没有被保存,但是在我的情况下这似乎不直观,因为后面和主页按钮同样有效地将应用程序留在用户眼中,直到他们尝试回去到他们在做什么。按下后退按钮时无法保存状态吗?

如果我必须做一些持久存储,那么:

a)如何覆盖后退按钮行为,以便在按下后退时保存应用程序,并

b)我可以以某种方式持久保存Bundle,以便我不必复制状态保存代码吗?

3 个答案:

答案 0 :(得分:0)

你要搜索的是SharedPreferences我想看看它。它将帮助您解决问题

答案 1 :(得分:0)

我可能错了,但我的理解是savedInstanceState仅在您更改设备方向时保存数据,但只要您单击后退按钮,您的活动就会被销毁。为了在按下后退按钮时保存数据,您可以使用SharePreferences保存数据,也可以使用单例类。

答案 2 :(得分:0)

http://developer.android.com/reference/android/app/Activity.html首先看一下活动生命周期。听起来像你需要覆盖ondestroy方法并坚持你的东西。你可以使用一个简单的东西捆绑,但复杂的东西,最好使用包裹。 oncreate方法应该检查东西以查看它是否为空