应用明明没有被系统回收。按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,似乎有效