主要是看到 了Home键使用的一个功能, 就是在程序运行的时候,假如用户 点击 home键时退出应用程序,那么在重新进应用程序时,会自动恢复上次运行的界面,主要是搞不懂是怎么恢复的,有高手求解下。

解决方案 »

  1.   

    主要是一个弹跳页面+数据存储的应用
    你可以设置每个页面的 ID,然后 在每次进入页面的时候都存储一下当前页面的ID
    然后 在启动主页面的时候根据记录的配置参数来跳转到相应的页面
      

  2.   

    程序正常启动:onCreate()->onStart()->onResume();正常光闭:onPause()->onStop()->onDestory();按Home键光闭程序:
    onPause()->onStop() 再次启动时:onRestart()->onStart()->onResume();
    按Back键光闭程序:
    onPause()->onStop()->onDestory() 再次启动时:onCreate()->onStart()->onResume();根据情况选择初始化、保存数据操作!!
    楼主试试吧!
      

  3.   


    1楼好像把这个问题想简单了,恢复页面 除了跳转,还需要恢复页面的状态(一些数据,组件的状态呀什么的)。只是跳转的话,是实现不了 Home键的功能的 
      

  4.   

    如果说楼主要求的是每次开启程序的时候打开上一次关闭程序时的界面,那么就需要解决两个问题:
    1. 存储上一次的界面
    2. 在重新开启程序的时候读取上一次的界面,并重新显示;竟然需要存储,那么就选一种存储方式,文件存储或SharedPreferences存储;前者不说,如果选择后者的话,就是将数据存储在xml文件中;那么我们可以把这个界面中的各个界面元素值存储一下,当然还有当前界面的id号(自己分配,以便恢复界面时用到);不同的界面有不同的数据,可以做一个类为不同的界面恢复之用,当开启程序时,启动的不是一个固定的界面,而是跟据SharedPreferences中的界面id来开启不同的界面,并根据存储的数据开恢复上一次的界面输入的数据Best Regards
      

  5.   

    那个,能给我解释下 Home键源码中 实现这个功能的原理,最想了解的就是这个。上面的一些回复好像都不是一劳永逸的方法 ,假如有这样一种情况 程序出错了(如:内存不足)系统强制程序关闭,如果再进行页面恢复的话,因为你不知道到底是那个activity出错,是不是就需要保存相当多的数据(每个activity的数据都需要保存)。
    我假设了很多条件,并不是想为难大家啊。就是想大家一起讨论下 根据Home键的原理可不可以找到一个全面的解决方法实现页面恢复功能,看到我满意的答案,我会马上把分加给他的