Heim > Fragen und Antworten > Hauptteil
如题:
我现在简单的做了个测试的APP,整个测试流程如下:
1、点击ICON启动APP运行MainActivity.java主界面;
2、点击按钮跳转到BActivty.java界面,此时MainActivity没有使用finish(),在BActivity.java中点击按钮获取数据显示到 BActivity界面上;
3、然后点击Home键回到手机的主界面;
4、再次点击应用程序的图标,然后就重新启动了APP。
我现在想要在点击ICON的时候回到BActivity退出时的状态该怎么做?新手还请指教!
测试始终发现每次都是重新启动了APP,网上有的说加下面一段代码在根Activity就可以,
但是我使用了,表面上是回到了之前的界面,但是事件操作会出错。
if (!isTaskRoot()) {
finish();
return;
}
在线等,希望各位指点,先谢谢了。
简单点说就是我按Home键返回了桌面,我要点击ICON怎么返回之前的状态。
最奇怪的就是在开发环境下launch运行到手机中,使用Home返回桌面,再次点击应用程序就是可以返回之前的状态的,多次测试都是正常的;但是当我打包签名之后,发送到手机上使用这个签名的APK来测试就会出现每次点击应用程序图标都会运行MainActivity,之前的界面就在这个MainActivity之下,即结束这个MainActivty就会出现之前的界面。
启动多少次就要多少了MainActivity,我也是醉了啊~~~~就是返不回之前的状态。
伊谢尔伦2017-04-17 17:39:55
正常情况下是不会出现你所叙述的情况。首先你应该打印一下BActivity的生命周期。你多换几种机型 。建议在A 中使用下面这两种方法onSaveInstanceState() 和 onRestoreInstanceState()
ringa_lee2017-04-17 17:39:55
建议换部配置高点的测试机试试,应该是因为系统内存吃紧被杀了,如果真是这样,那这个问题应该改为怎么实现保活机制了,或者可以尽量减少自己的内存占用。
黄舟2017-04-17 17:39:55
应该是第一次安装的时候会出现这个问题吧?
在你的launchActivity onCreate方法中加入以下的代码:
/**
* 解决APP打包第一次安装之后启动APP图标会出现多个程序的问题
*/
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
希望可以帮助你!