走上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,就是这样,如果有更好的办法,或者此方法有什么问题,欢迎大家批评指正。