Android应用实现退出时关闭所有Activity
2016-01-24 17:25
656 查看
<p><span style="font-family: KaiTi_GB2312; font-size: 18px;">在我的Android项目中,添加了用户注册申请界面之后,在主程序界面确定退出时,没想到居然是退到之前的登陆界面,这让我很苦恼,查找了相关资料和解决办法,主程序退出时确实应该是退出到登陆界面,因为,每打开一个Activity都会被记录下来,每次退出当前Activity时都将退到上一个Activity。</span></p><p><span style="font-family: KaiTi_GB2312; font-size: 18px;">网上有很多这类问题的解决方法,但有的方法并不能解决问题,我试过了并没用,不过有一个方法还是挺不错的,至少我是解决了问题。下面是我解决问题的方法:</span></p><p><span style="font-family: KaiTi_GB2312; font-size: 18px;"><span style="color: rgb(51, 51, 51); line-height: 28px; text-indent: 28px;">使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器。定义一个Application类来存储Activity对象的引用。代码如下:</span></span></p>
SysApplication.getInstance().addActivity(this);
在需要结束所有Activity的时候调用exit方法:
SysApplication.getInstance().exit();
/** * 一个类 用来结束所有后台activity * @author Administrator * */ public class SysApplication extends Application { //运用list来保存们每一个activity是关键 private List<Activity> mList = new LinkedList<Activity>(); //为了实现每次使用该类时不创建新的对象而创建的静态对象 private static SysApplication instance; //构造方法 private SysApplication(){} //实例化一次 public synchronized static SysApplication getInstance(){ if (null == instance) { instance = new SysApplication(); } return instance; } // add Activity public void addActivity(Activity activity) { mList.add(activity); } //关闭每一个list内的activity public void exit() { try { for (Activity activity:mList) { if (activity != null) activity.finish(); } } catch (Exception e) { e.printStackTrace(); } finally { System.exit(0); } } //杀进程 public void onLowMemory() { super.onLowMemory(); System.gc(); } }然后在每个Activity的onCreate()方法中添加下面代码:
SysApplication.getInstance().addActivity(this);
在需要结束所有Activity的时候调用exit方法:
SysApplication.getInstance().exit();
相关文章推荐
- Android使用adb获得activity堆栈信息
- SlidingMenu开源库
- Android中View的事件分发机制
- 关于Android权限被禁止的问题
- android如何调用显示和隐藏系统默认的输入法(一)
- Android中弱引用与软引用的应用场
- Android aidl Binder框架浅析
- Android轻量级JSON操作类
- Android中AIDL使用例子
- Android-onInterceptTouchEvent()和onTouchEvent()总结
- 关于android.widget包的理解
- android退出activity的方式总结(一)
- android中的AIDL进程间通信
- Android manifest文件中的标签详细介绍
- 详解Android中提示对话框(ProgressDialog和DatePickerDialog和TimePickerDialog&PopupWindow)
- 为ViewPager添加选项卡导航栏
- Android中Parcelable接口用法(转)
- Android 通过Base64上传图片到服务器
- Android ActionBar中CustomView的显示
- android系列学习:tab切换,fragment中嵌套listview,listview自定义item,优化以及onclick