android完全退出程序
2016-03-07 22:07
495 查看
在工作开发中,我们经常会遇到退出程序这个功能,然而android并没有提供合适的API来实现它。
如有3个actvitity,A->B->C,若我们在C中退出程序,那么应该如何去做?
android提供的Activity.finish()方法只能关闭当前activity,也就是C;
java中的System.exit(0).也是只能关闭当前activity.
我的方法是将所有的Activity放入一个集合中:onCreate()方法放入集合,onDestroy()移除集合,需要退出时,就遍历集合,每个还存在Activity都执行finish()方法,这样就能完全退出了。
如有3个actvitity,A->B->C,若我们在C中退出程序,那么应该如何去做?
android提供的Activity.finish()方法只能关闭当前activity,也就是C;
java中的System.exit(0).也是只能关闭当前activity.
我的方法是将所有的Activity放入一个集合中:onCreate()方法放入集合,onDestroy()移除集合,需要退出时,就遍历集合,每个还存在Activity都执行finish()方法,这样就能完全退出了。
/** * ActivityList类,单例类 * */ public class ActivityList { private List<Activity> mList=new LinkedList<>();//存储Activity的链表 private static ActivitytList activityList; //私有构造函数 private ActivityList(){ } public static ActivityList getInstance(){ if(activityList==null){ activityList=new ActivityList(); } return activityList; } /** * 添加activity * @param activity */ public void addActivity(Activity activity){ mList.add(activity); } /** * 移除activity * @param activity */ public void removeActivity(Activity activity){ mList.remove(activity); } /** * 退出 */ public void exit(){ //遍历,执行finish()方法 for(Activity activity:mList){ if(activity!=null){ activity.finish(); } } mList.clear(); System.exit(0); } }
相关文章推荐
- Android学习笔记18:自定义Seekbar拖动条式样
- Android照片墙应用实现,再多的图片也不怕崩溃
- Android JNI编程规范
- android中JNI调用时内存分布以及内存泄露原因分析
- android之bitmap-xml文件属性详解
- Fresco介绍 - 超级牛逼的android图片加载库
- 【入门篇】Android学习笔记——项目结构及相关基础知识
- 在Activity里显示列表(ListView的布局)
- Android控件第2类——ImageView
- Android中优化ListView的ViewHolder模式
- Android Fragment完全解析
- Android高效加载大图、多图解决方案,有效避免程序OOM
- Please use Android Tools > Fix Project Properties.
- Android学习笔记之LinearLayout
- [android] android下创建一个sqlite数据库
- Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析
- Android 数据持久化
- 动态文字排版(GridView与ArrayAdapter)
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- Androidstudio学习初步问题