如题:
我现在简单的做了个测试的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;
}
希望可以幫助你!