Android 开发 启动activity并且将前面activity全部清空
方法一:
Intent intent = new Intent(A.this,B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
startActivity的时候传递FLAG_ACTIVITY_CLEAR_TASK这个标志,那么这个标志将会清除之前所有已经打开的activity.然后将会变成另外一个空栈的root,然后其他的Activitys就都被关闭了.这个方法必须跟着{@link #FLAG_ACTIVITY_NEW_TASK}一起使用.
一定要和FLAG_ACTIVITY_NEW_TASK一起使用!
方法二:
Intent intent = new Intent(context,PLoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);
注意这里使用的是addFlags(); 二者的区别是setFlags();会清空原有的Flags设置新的Flags,而addFlags则是添加新的Flags
方法三:
/**
*@content:活动结束管理类
*@time:2019-1-29
*@build:
*/ public class ActivityFinishUtil {
private static List<Activity> activityList = new ArrayList<>(); public static void addActivity(Activity activity){
activityList.add(activity);
} public static void removeActivity(Activity activity){
activityList.remove(activity);
} public static void finishOtherAllActivity(Activity activity){
for (Activity item : activityList){
if (item == activity){
continue;
}
item.finish();
}
} public static void finishAllActivity(){
for (Activity item : activityList){
item.finish();
}
} }
此方法只需要在你的基础Activity的onCreate和onDestroy添加对应方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayout());
ActivityFinishUtil.addActivity(this);
} @Override
protected void onDestroy() {
super.onDestroy();
ActivityFinishUtil.removeActivity(this);
}
Android 开发 启动activity并且将前面activity全部清空的更多相关文章
- Android开发 如何最优的在Activity里释放资源
前言 当前你已经入门Android开发,开始关注深入的问题,你就会碰到一个Android开发阶段经常碰到的问题,那就是内存泄漏. 其实大多数Android的内存泄漏都是因为activity里的资源释放 ...
- Android开发艺术探索读书笔记——01 Activity的生命周期
http://www.cnblogs.com/csonezp/p/5121142.html 新买了一本书,<Android开发艺术探索>.这本书算是一本进阶书籍,适合有一定安卓开发基础,做 ...
- android开发中如何结束所有的activity
每一个activity都有自己的生命周期,被打开了最终就要被关闭. 四种结束当前的activity方法 //关闭当前activity方法一 finish(); //关闭当前界面方法二 android. ...
- 【转】android开发中如何结束所有的activity
原文网址:http://java--hhf.iteye.com/blog/1826880 每一个activity都有自己的生命周期,被打开了最终就要被关闭. 四种结束当前的activity方法 //关 ...
- 【Android开发-8】生命周期,Activity中打开另外一个Activity
前言:生命中有很多人陪伴自己走过一生中的某段旅程,仅仅是有些人仅仅是某阶段出现,有些人却陪伴自己非常久.就像小学.中学.高中.大学,那些以前以为会长久拥有的,当经历过天涯各地地忙碌于生活,或如意.或失 ...
- Android开发艺术探索(一)——Activity的生命周期和启动模式
Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...
- android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode
转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50749728 本文出自:[lxk_1993的博客]: 首先还是先介绍下Activity ...
- Android开发学习之路-Service和Activity的通信
在很多时候,Service都不仅仅需要在后台运行,还需要和Activity进行通信,或者接受Activity的指挥,如何来实现,来看代码. 定义一个服务 // 创建一个服务,然后在onBind()中返 ...
- Android开发之利用ViewPager实现在Activity或Fragment中引入别的布局文件实现滑动并进行页面跳转
有些时候经常可以看到其他APP中有一排的图标,可以在一个界面中滑来滑去,并且图标可以进行点击事件进行页面的跳转.这里对这种方法的实现做出总结. 首先看一下图片: 下面这两种图片是在一个Fragment ...
随机推荐
- 03MYSQL数据库
mySQL 数据库 储存数据,属于中小型数据库 默认端口号 3306 密码root sql是一门编程语言 结构化查询语言 是强类型语言(定义变量时要指定变量类型) 字符串有两种类型: 定长: ...
- java学习之路重新出发
一.Java发展史: 1995年由詹姆斯高斯林带领团队开发 java问世 2004 jdk1.5版本更名jdk5.0 2010 sun公司被oracle公司收购 二.java三大体系: java ...
- 兄弟连学python---网络简介
网络简介 1.什么是网络 网络是辅助双方能够连接在一起的工具 使用网络的目的 为了联通多方然后进行通讯,能够让软件在不同的电脑上运行,相互传输数据 网络的发展 网络协议 什么是协议 约定俗成的,没有理 ...
- 关于jstl中碰到的Property 'username' not found on type java.lang.String异常
在jstl的forEach循环的时候总是有异常,刚开始以为是把类的属性名打错了,因为显示的是Property not found,但就算从类文件里面复制属性名过来依然显示的是Property not ...
- Appium环境搭建——安卓模拟器(AVD)调试 2-运行Apk失败点的总结
如何优化AVD模拟器运行速度? 解决方法:开启IntelHAXM 查询intelhaxm是否已经开启: sc query intelhaxm 若开启成功,则如图所示 若没有开启,可以通过BIOS打开, ...
- Vue 中 diff 算法后更新 DOM 的方法
vue 2.0加入了 virtual dom,在 node_modules\vue\src\core\vdom\patch.js 中会对虚拟 DOM 进行 diff 算法等,然后更新 DOM. 网上的 ...
- maya_关于脚本编辑器导入python模块
import sys for p in sys.path: print p rigDir = 'C:\Users\lenovo\Documents\maya\scripts\python\rigLib ...
- angular2在模板中使用属性引发Cannot read property 'xxx' of undefined
angular在模板中使用属性引发Cannot read property 'xxx' of undefined 在使用ng2的过程中,发现模板中如下方式 <li *ngFor="le ...
- 【java】异常
异常体系:Throwable ---Error 通常出现重大问题:如类不存在或者内存溢出.停止运行,不对代码进行处理 ---Exception 在运行时出现的情况,可以进行针对性处理.可以通过try ...
- 【转】/etc/rc.d/rc与/etc/rc.d/init.d的关系介绍
/etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行.程序运行到这里(init进程读取了运行级别),相信从命名的角度大家也能猜到该运行/etc/rc. ...