我在这里缺少什么?
问题是,我启动了我的app onCreate被调用。我按下主页按钮离开它,再次按下应用程序图标,然后再次调用onCreate。活动正在被杀,对吧?好吧,如果我按下主页离开应用程序,请按住主页,然后从我停止的正在运行的应用程序中选择应用程序。因此,在应用程序中击中主页并不会杀死活动。按按钮打开应用程序即可查看活动。
我使用Eclipse。我刚刚下载了最新的Eclipse并重新下载了ADT并更新了Android SDK。一切都是最新的。我甚至卸载了所有java并下载并在我的计算机上重新安装了最新的jdk和运行时。然后重新签名该应用程序。
使用Eclipse我添加了骨架示例项目。在调试模式下签名,它每次都恢复,就像我的真实应用程序一样。签署发布,它有问题:按回家离开应用程序,按图标启动应用程序,再次调用onCreate。从字面上看每一次。不应该恢复吗?
问题在于它不仅仅是我(我有一个BIONIC)。它发生在其他人的手机上,它发生在模拟器上,但它只在签名发布时才会发生。签署调试,它完全没问题。
有关于此的任何想法吗?
答案 0 :(得分:3)
根据之前的question,您需要使用FLAG_ACTIVITY_REORDER_TO_FRONT设置setFlags()标记。这将导致您的运行活动被重用,而不是每次应用程序启动它时重新创建。按主页按钮上的图标时,活动即开始。主屏幕不知道应用程序是否正在运行,因此它只是启动它。当你长按回家时,它实际上切换到活动,因为它知道它正在运行。
另一种选择似乎是将android:launchMode设置为singleTop
。