系统Api :打开新的Activity 关闭之前所有Activity

Intent intent = new Intent(this, LoginActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);

自己管理: 将Activity放入集合进行管理

/**   * Activity管理类   *    */    public class AppManager {            private static Stack activityStack;            private static AppManager instance;            private AppManager() {        }            /**       * 单一实例       */        public static AppManager getAppManager() {            if (instance == null) {                instance = new AppManager();            }            return instance;        }            /**       * 添加Activity到堆栈       */        public void addActivity(Activity activity) {            if (activityStack == null) {                activityStack = new Stack();            }            activityStack.add(activity);        }            /**       * 获取当前Activity(堆栈中最后一个压入的)       */        public Activity currentActivity() {            Activity activity = activityStack.lastElement();            return activity;        }            /**       * 结束当前Activity(堆栈中最后一个压入的)       */        public void finishActivity() {            Activity activity = activityStack.lastElement();            finishActivity(activity);        }            /**       * 结束指定的Activity       */        public void finishActivity(Activity activity) {            if (activity != null) {                activityStack.remove(activity);                activity.finish();                activity = null;            }        }            /**       * 结束指定类名的Activity       */        public void finishActivity(Class<?> cls) {            for (Activity activity : activityStack) {                if (activity.getClass().equals(cls)) {                    finishActivity(activity);                }            }        }            /**       * 结束所有Activity       */        public void finishAllActivity() {            for (int i = 0, size = activityStack.size(); i < size; i++) {                if (null != activityStack.get(i)) {                    activityStack.get(i).finish();                }            }            activityStack.clear();        }            /**       * 退出应用程序       */        @SuppressWarnings("deprecation")        public void AppExit(Context context) {            try {                finishAllActivity();                ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);                activityManager.restartPackage(context.getPackageName());                System.exit(0);            } catch (Exception e) {                e.printStackTrace();            }        }    } 


更多相关文章

  1. Android应用程序键盘(Keyboard)消息处理机制分析(6)
  2. android 如何通过包名杀死指定的进程
  3. android 触摸事件和点击事件执行顺序
  4. Android应用程序全屏显示
  5. android中退出整个app应用程序
  6. Android(安卓)Intent用法汇总
  7. Android(安卓)让一个Service开机自动启动
  8. android利用数字证书对程序签名
  9. [Android]实现点击持续录音,松开结束录音,并实现随着分贝的大小改

随机推荐

  1. Android(安卓)自定义控件打造史上最简单
  2. Android(安卓)事件处理
  3. 仿Android6.0联系人列表
  4. Android电话拨打流程源码分析
  5. 为什么说Android令人沮丧!?
  6. Android状态check、focused、pressed、se
  7. Android安装以及Eclipse插件(Google Andr
  8. Ubuntu 试用Android(安卓)L版本
  9. android 10 高通 图标名称双行显示
  10. Android收藏商品/关注商品