有我的情况。无论他们在做什么,我都有相同的活动一个接一个地进行。让我们从字母表开始命名它们。当用户使用我的应用程序时,他会通过活动并在它们之间建立自己的路径,因此他可以使用后退按钮返回相应的后退顺序。
他从行动开始。A - D - F 并使用后退按钮,他从 F 回到 D 和 A。好的。现在,当 Android 系统解决应用程序不再使用或在某个特定时间需要大量 RAM 时,系统会将其杀死。我的目标是找到,如何将应用程序恢复到以前的状态,包括打开活动的顺序?
可能不太清楚,所以举个例子:
用户有打开的活动 A(登录) - D - F - G,将其最小化,一段时间后,应用程序被杀死。当他再次启动这个应用程序时,他需要在活动 A 上登录,然后他必须看到活动 G(= 他上次在那里),当他按下后退按钮时,他会去做活动 F,然后是活动 D 等等on... 就像恢复一排活动。我知道我必须保留存储在我的活动(D、F、G)中的所有信息,但是真的可以像这样保留应用程序状态吗?
感谢您对此发表任何评论
解决方案:
我正在跟踪标志,它标识了我的应用程序所处的状态。如果它是 0,则表示我正在正常打开新活动。在每个活动开始时,我将共享首选项字符串放入其中,其中包含我所有的活动历史记录。每个活动都有自己的 id(同样是 sharedPref)。在另一个共享首选项中,当 onPause 发生时,我将其保存为字符串公式数据(或带有 GUI 的数据)。我将标志设置为 1。当应用程序启动且标志为 1 时,我从 sharedPref 恢复应用程序堆栈。从另一个共享首选项为它们中的每一个设置数据。就是这样,应用程序状态恢复了:-)