android - Home键返回主界面之后,点击ICON再次唤起应用时又重新启动了APP
天蓬老师
天蓬老师 2017-04-17 17:37:55
0
8
1030

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(8)
Peter_Zhu

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

伊谢尔伦

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

左手右手慢动作

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

PHPzhong

你MainActivity是不是设了singleTask了?

洪涛

设置MainActivity的launchMode为SingleTask

阿神

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

迷茫

解决了吗,伙计

黄舟

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

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

希望可以帮助你!

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage