美文网首页
重复实例化launcher Acitvity的问题

重复实例化launcher Acitvity的问题

作者: Avalon1 | 来源:发表于2016-05-05 10:40 被阅读338次

    应用明明没有被系统回收。按home键退出到桌面的时候会出现这种,点击应用图标会再次打开launcher Acitvity。我的项目的launcher是一个登陆。他会再次去到登录界面。在登录界面通过finish()杀死这个activity又能再次返回到之前按home键之前的样子。所以让我感觉很是奇怪。而且这种情况似乎并不是在所有的手机上都有出现,在我自己的手机以及模拟器都不会出现这样的情况。而在某些小米华为上面会出现。让我很郁闷。。。网上搜索了一些。但是似乎不能解决这个问题。

    发现百度或者谷歌出来的一些处理方案

    比如 

    似乎没用啊不过

    //        if(!this.isTaskRoot()) { //判断该Activity是不是任务空间的源Activity,“非”也就是说是被系统重新实例化出来

    //            //如果你就放在launcher Activity中话,这里可以直接return了

    //            Intent mainIntent=getIntent();

    //            String action=mainIntent.getAction();

    //            if(mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {

    //                finish();

    //                return;//finish()之后该活动会继续执行后面的代码,你可以logCat验证,加return避免可能的exception

    //            }

    //        }

    部分机型有用

    //        if ((getIntent().getFlags()& Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)!=0)

    //        {

    //            finish();

    //            return;

    //        }

    还有一种在Index里面写一个静态常量。只要index没有被destroy就为true。在打开的时候判断下。如果这个常量为true就直接finish,return,似乎有效

    相关文章

      网友评论

          本文标题:重复实例化launcher Acitvity的问题

          本文链接:https://www.haomeiwen.com/subject/wqddrttx.html