• Android程序的退出终于完美解决,兼容所有SDK


    上网学了好多方法,关于Android的Activity如何退出。好多方法都不行啦,试了各种方法,下面这种方法就是我最喜欢的,简单又容易懂。


    使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!

    MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作

    Java代码 复制代码 收藏代码
    1. public class MyApplication extends Application {   
    2.   
    3.   
    4.  private List<Activity> activityList = new LinkedList<Activity>();    
    5.  private static MyApplication instance;   
    6.     
    7.             private MyApplication()   
    8.             {   
    9.             }   
    10.              //单例模式中获取唯一的MyApplication实例    
    11.              public static MyApplication getInstance()   
    12.              {   
    13.                             if(null == instance)   
    14.                           {   
    15.                              instance = new MyApplication();   
    16.                           }   
    17.                  return instance;                
    18.   
    19.              }   
    20.              //添加Activity到容器中   
    21.              public void addActivity(Activity activity)   
    22.              {   
    23.                             activityList.add(activity);   
    24.              }   
    25.              //遍历所有Activity并finish   
    26.   
    27.              public void exit()   
    28.              {   
    29.   
    30.                           for(Activity activity:activityList)   
    31.                          {   
    32.                            activity.finish();   
    33.                          }   
    34.   
    35.                            System.exit(0);   
    36.   
    37.             }   
    38. }  
    public class MyApplication extends Application {
    
    
     private List<Activity> activityList = new LinkedList<Activity>(); 
     private static MyApplication instance;
     
                private MyApplication()
                {
                }
                 //单例模式中获取唯一的MyApplication实例 
                 public static MyApplication getInstance()
                 {
                                if(null == instance)
                              {
                                 instance = new MyApplication();
                              }
                     return instance;             
    
                 }
                 //添加Activity到容器中
                 public void addActivity(Activity activity)
                 {
                                activityList.add(activity);
                 }
                 //遍历所有Activity并finish
    
                 public void exit()
                 {
    
                              for(Activity activity:activityList)
                             {
                               activity.finish();
                             }
    
                               System.exit(0);
    
                }
    }

     在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中

     

    Java代码 复制代码 收藏代码
    1. MyApplication.getInstance().addActivity(this);  
     MyApplication.getInstance().addActivity(this);

     在需要结束所有Activity的时候调用exit方法

     

    Java代码 复制代码 收藏代码
    1. MyApplication.getInstance().exit(); 
  • 相关阅读:
    nuc970连接jlink进行单步调试的设置
    alsa utils工具使用
    用arm-linux-gcc v4.3.4交叉编译Qt4.8.3
    LNMP分离式部署
    MHA(下)
    MHA(上)
    PXE自动装机
    JumpServer
    FTP
    DNS
  • 原文地址:https://www.cnblogs.com/zhwl/p/2790186.html
Copyright © 2020-2023  润新知