首页 > 移动平台 > 详细

安卓学习之--如何关闭所有的activity

时间:2014-10-22 14:14:49      阅读:169      评论:0      收藏:0      [点我收藏+]

根据Activity的声明周期 
方法1
   我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志 Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。 

在A窗口中使用下面的代码调用B窗口 
Java代码 

Intent intent = new Intent(); 
intent.setClass(Android123.this, CWJ.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG设置 
startActivity(intent) 

 

方法2: 

在调用退出方法中写上

MyApplication.getInstance().exit();

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
        /*
         * 在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中
         * 
         * MyApplication.getInstance().addActivity(this);
         * 
         * 在需要结束所有Activity的时候调用exit方法
         * 
         * MyApplication.getInstance().exit();
         */
        public void exit() {

                for (Activity activity : activityList) {
                        activity.finish();
                }

                System.exit(0);

        }

安卓学习之--如何关闭所有的activity

原文:http://www.cnblogs.com/xgjblog/p/4042880.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!