android - Home键返回主界面之后,点击ICON再次唤起应用时又重新启动了APP

浏览:33日期:2022-12-02

问题描述

如题:我现在简单的做了个测试的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,我也是醉了啊~~~~就是返不回之前的状态。

问题解答

回答1:

正常情况下 Home 键不会将应用退出,你试试换个手机,有可能你这个手机内存比较低所以才会销毁。

回答2:

正常情况下是不会出现你所叙述的情况。首先你应该打印一下BActivity的生命周期。你多换几种机型 。建议在A 中使用下面这两种方法onSaveInstanceState() 和 onRestoreInstanceState()

回答3:

建议换部配置高点的测试机试试,应该是因为系统内存吃紧被杀了,如果真是这样,那这个问题应该改为怎么实现保活机制了,或者可以尽量减少自己的内存占用。

回答4:

你MainActivity是不是设了singleTask了?

回答5:

设置MainActivity的launchMode为SingleTask

回答6:

是不是很没得技术含量啊,各位大哥些帮帮小弟啊

回答7:

解决了吗,伙计

回答8:

应该是第一次安装的时候会出现这个问题吧?在你的launchActivity onCreate方法中加入以下的代码:

/** * 解决APP打包第一次安装之后启动APP图标会出现多个程序的问题 */if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { finish(); return;}

希望可以帮助你!

相关文章: