suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

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

天蓬老师天蓬老师2772 Tage vor1031

Antworte allen(8)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-04-17 17:39:55

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

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:39:55

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

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-17 17:39:55

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

    Antwort
    0
  • PHPz

    PHPz2017-04-17 17:39:55

    你MainActivity是不是设了singleTask了?

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-17 17:39:55

    设置MainActivity的launchMode为SingleTask

    Antwort
    0
  • 阿神

    阿神2017-04-17 17:39:55

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

    Antwort
    0
  • 迷茫

    迷茫2017-04-17 17:39:55

    解决了吗,伙计

    Antwort
    0
  • 黄舟

    黄舟2017-04-17 17:39:55

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

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

    希望可以帮助你!

    Antwort
    0
  • StornierenAntwort