zoukankan      html  css  js  c++  java
  • 一次性退出所有activity

     可以利用清理历史栈的方法,来巧妙关闭所有activity,首先用一个设置为不可见的activity A来启动程序,这个activity A的作用只是用来垫栈底,只有启动和退出程序才会用到这个activity,而你需要退出的时候,只需要跳转至这个activity A ,并让A finish自己就可以实现关闭所有的activity。

    Intent intent = new Intent();

    intent.setClass(B.this, A.class); //B为你按退出按钮所在的activity

    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //最关键是这句

    startActivity(intent);



    Intent.FLAG_ACTIVITY_CLEAR_TOP使得处于栈底的A发挥推土机的作用,从最底层把栈里所有的activity都清理掉,再在自己的oncreate方法加一句finish结束自己,即可实现退出。不放心的话,可以在A的ondestroy方法中加上system.exit(0) ,连跳转过程中的线程也可以终止的。

    至于如何初始化这个activity A ,决定程序是启动还是退出,随便弄一个static类型布尔变量控制一下就可以了。

  • 相关阅读:
    AOP 和 前置通知,后置通知
    使用Spring 简化MyBatis
    核心一:DI
    环境搭建及创建对象方式及赋值(注入)
    核心一:IoC
    Spring框架简介
    判断两个矩形是否相交的4个方法
    计算旋转角度
    浅析adb命令
    如何选择开源许可证?
  • 原文地址:https://www.cnblogs.com/ylligang/p/2241018.html
Copyright © 2011-2022 走看看