现在的位置: 首页 > 综合 > 正文

关于在退出应用时关闭所有Activity

2018年05月06日 ⁄ 综合 ⁄ 共 1141字 ⁄ 字号 评论关闭

    走上Android程序员的道路有一段时间了,工作中出现问题,总是看一些前辈的博客来进行解惑,在此向那些共享自己编程经验和思路的前辈致敬。也反思了一下,在别人帮助自己过后,自己也应该学会帮助他人。就决定以后也写一些博客,限于个人水平低下,前辈们看到了大可一笑而过,如能指出缺点,进行赐教,小子感激不尽。就想能把自己遇到的问题整理一下,给同样新手的一些童鞋们一些参考,欢迎讨论,共同进步。

     第一篇想了很久还是决定先写一篇简单的供大家指正,在当初还在为成为一名android程序员面试的时候,经常遇到一个面试题,怎么在退出应用的时候退出全部Activity,当时我是完完全全的在网上搜的答案然后背了下来,因为大学学的不是android,所以当时也是一直半解,直到成为一个android菜鸟才开始理解,好了,废话不说,上代码。

        总共分三步,第一步创建一个finishActivity类,用来记录、退出Activity。

   

public class finishActivity extends Application {  
  
private List<Activity> activityList = new LinkedList<Activity>();  
private static finishActivity instance;  
  
            private finishActivity()  
            {  
            }  
             //单例模式中获取唯一的MyApplication实例   
             public static finishActivity getInstance()  
             {  
                            if(null == instance)  
                          {  
                             instance = new finishActivity();  
                          }  
                 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中把该activity添加进类finishActivity,this代表该Activity

finishActivity.getInstance().addActivity(this);// 添加Activity到容器中,以便应用完全退出

第三步 在退出应用时调用finishActivity

finishActivity.getInstance().exit();  

OK,就是这样,如果有更好的办法,或者此方法有什么问题,欢迎大家批评指正。
 

 

抱歉!评论已关闭.