• launcher启动应用重启的BUG解决


    最近遇到了一个问题,从launcher重新进入已经运行的应用会直接跳到应用的第一个界面。

    经过对应用的跟踪,结合网络上的资料

    http://stackoverflow.com/questions/19545889/app-restarts-rather-than-resumes


    定位了BUG。

    【BUG描述】

    这个是一个Android BUG, 其实应用并没有完全重启,只是又启动了一个第一界面,然后放到了任务栈的顶部,这时候,我们点击BACK会回到我们期望的正确界面。

    操作步骤为,安装,点击开始,点击HOME,点击图标。

    【解决】

    这个问题的解决思路是,在第一个界面的oncreate里面判断当前应用是否已经启动,并判断intent信息,如果已经启动过了,并且信息符合,那么我们就结束这个新开的第一界面。

    代码如下

     1  private void checkIsRunning()
     2     {
     3         if (!isTaskRoot()
     4                 &&   getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
     5                 && getIntent().getAction() != null
     6                 && getIntent().getAction().equals(Intent.ACTION_MAIN)) {
     7             finish();
     8             return;
     9         }
    10     }
  • 相关阅读:
    ElasticSearch Java API
    ElasticSearch 核心概念
    ElasticSearch 基本操作
    ElasticSearch概述
    Spring AOP 实现原理与 CGLIB 应用
    Spring AOP 实现原理
    线程池队列饱和策略
    Hibernate 事物隔离级别 深入探究
    Hibernate 所有缓存机制详解
    Java NIO API详解
  • 原文地址:https://www.cnblogs.com/u3shadow/p/4959009.html
Copyright © 2020-2023  润新知