所以我正在写一个应用程序。我希望能够按下主页键离开应用程序,暂时执行其他操作,然后通过从启动器中选择它来返回应用程序。我希望应用程序具有与我离开时完全相同的状态。 为此,我已经在onSaveInstanceState()中创建了一个bundle,我在onCreate()中使用了这个bundle(当然是检查它是否为null)。
这是我期望发生的事情......
- 我从Eclipse安装应用程序
- 我从发射器启动应用程序
- 我按下主页键
-onSaveInstanceState()被caled,我写了一个包
- 我再次从启动器启动应用程序
-onCreate()被调用,我得到了我之前写过的包
- 我用那个包来恢复我的ui
这是发生的事情......
- 我安装了应用程序
- 我从发射器启动应用程序
- 我按下主页键
调用-onSaveInstanceState(),写入bundle
- 我再次启动应用程序
-onCreate()在没有我的包的情况下被调用
- 似乎已经发生的事情是,为此任务已将新活动放入堆栈
- 我按后退按钮
- 我刚刚启动的活动被销毁,我首先启动的活动显示正确的状态!
- 重新按下直到返回主屏幕
- 生命周期现在可以预期!即使重启后,我也会在安装新版本的应用程序时失败
只有在安装后才可能做到这一点!
答案 0 :(得分:2)
过去一个月左右,有几个人在这里提出了非常相似的问题 您需要确保Eclipse不处理任何Activity启动。
在Eclipse中编辑启动配置,将“启动操作”从“启动默认活动”更改为“不执行任何操作”。
或者您可以手动安装APK。
答案 1 :(得分:0)