android 关闭多个或指定activity
打开了。activityA,B,C,D,...然后到E一起关闭前面所有activity
(转自:http://blog.csdn.net/lengguoxing/article/details/42145641)
(详细:http://blog.csdn.net/u010205141/article/details/44153377)
public class CacheActivity {
public static List<Activity> activityList = new LinkedList<Activity>();
public CacheActivity() {
}
/**
* 添加到Activity容器中
*/
public static void addActivity(Activity activity) {
if (!activityList.contains(activity)) {
activityList.add(activity);
}
}
/**
* 便利所有Activigty并finish
*/
public static void finishActivity() {
for (Activity activity : activityList) {
activity.finish();
}
}
/**
* 结束指定的Activity
*/
public static void finishSingleActivity(Activity activity) {
if (activity != null) {
if (activityList.contains(activity)) {
activityList.remove(activity);
}
activity.finish();
activity = null;
}
}
/**
* 结束指定类名的Activity 在遍历一个列表的时候不能执行删除操作,所有我们先记住要删除的对象,遍历之后才去删除。
*/
public static void finishSingleActivityByClass(Class<?> cls) {
Activity tempActivity = null;
for (Activity activity : activityList) {
if (activity.getClass().equals(cls)) {
tempActivity = activity;
}
}
finishSingleActivity(tempActivity);
}
}
我们在每个Activity中,都在onCreate方法中加入如下代码:比如在Activity1.java中的onCreate
if (!CacheActivity.activityList.contains(Activity1.this)) {
CacheActivity.addActivity(Activity1.this);
}
意味着将他们加入到我们控制池里面去了,然后从付款跳转到登陆,登陆跳到注册,注册跳到充值,都不要finish当前的Activity,这样点击返回就会按照流程返回了。最后我们在充值成功的时候,调用
这样就会关闭后面三个Activity,第一个Activity也就是Activity1就出出来。
我们也可以不把付款的页面加入进去,只把后面三个加入进去,然后调用
CacheActivity.finishActivity();
全部清空,第一个页面也就出来了。;
附,其它:---------------------------------------
1 //跳转到主界面(android2.2)
2 Intent startMain = new Intent(Intent.ACTION_MAIN);
3 startMain.addCategory(Intent.CATEGORY_HOME);
4 startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
5 activity.startActivity(startMain);
6 System.exit(0);//推出程序
单个单个关闭:
常规方法是使用startActivityForResult打开新的Activity,重写onActivityResult()方法,通过你打开的新的Activity发送过来的resultCode值,你就可以关闭Activity,这样就很简单了。
注意:activity为android:launchMode="singleTask"这个方法不生效
<activity
android:name="com.gdtel.eshore.goldeyes.activity.MyInfoActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
android 关闭多个或指定activity的更多相关文章
- Android窗口管理服务WindowManagerService切换Activity窗口(App Transition)的过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8596449 在Android系统中,同一时刻只 ...
- Android基础总结(六)Activity
创建第二个Activity(掌握) 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <ac ...
- android四大组件(一)Activity
一.创建一个新的Activity 1.android的四大组件都要在清单文件里面配置 2.如果想让你的应用有多个启动图标,你的activity需要这样配置 <intent-filter> ...
- 【转载】作为Android开发者,你真的熟悉Activity吗?
学过android的人都知道,activity是最常用的四大组件之一,但你真的了解透彻activity了吗?接下来,本人将从activity的正常和异常生命周期.启动模式.IntentFilter匹配 ...
- 【Android】安卓四大组件之Activity(一)
[Android]安卓四大组件之Activity(一) 前言 Activity是Android学习中的一个重要组件,想要对其进行系统的了解可以分为几块内容,这一大章节的内容是有关于activity之间 ...
- android第一行代码-3.activity之间的调用跟数据传递
前面两节所有应用都是同一个activity中的,是时候讲activity之间交互的操作了,此后会涉及到intent这个概念,这也算一个新的里程碑开始. 主要内容包括intent的使用,以及activi ...
- Android Intent (可通过URL启动 Activity)
Intent分为两大类: (1)显性的(Explicit) (2)隐性的(Implicit) 对于隐性意图,在某些时候, 应用程序只是想启动具有某种特征的组件, 并不想和某个特定的组件耦合. 使用In ...
- Android基础整理之四大组件Activity
最近准备系统的重新整理复习一下Android的各方面的知识,本着知识分享的原则,我就把梳理过程中一些东西给记录下来,权当一个学习笔记吧. 下面步入正题..... 什么是Activity Activit ...
- android程序报错“error launching activity com.android.ddmlib.shellcommandunresponsiveexception”的解决方式
今天在调试android程序的时候,因为是NDK开发,要先编译.so库再打包下载到android模拟器,所以花费的时间比較长.控制台就会报例如以下错误: error launching activit ...
随机推荐
- 微信JSAPI支付
最近在微信H5页面内集成微信JSAPI支付,遇到不少问题,现将集成步骤及遇到的问题记录如下: 1.官方下载SDK,下载地址:https://pay.weixin.qq.com/wiki/doc/api ...
- Android笔记——Application的作用
一.Application是什么 Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象, ...
- Python初学者之网络爬虫
声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途. 本文将介绍我最近在学习Python过程中写的一个爬虫程序,将力争做到不需要有任何Python基础的程序员都能读懂.读者也可以先跳到 ...
- 常用的Webpack配置
官方文档: http://webpack.github.io/docs/ 1. 安装python2. 安装node.js msi3. npm自动打包在最新的node.js安装包里 被封的包用国内镜像下 ...
- 【Win 10应用开发】分阶段进行数据绑定
使用x:Bind扩展标记进行数据绑定,是在编译阶段完成,至于说性能优化方面,大概主要是优化CPU资源的使用,因为免去了运行阶段进行绑定的过程.当然,使用这个标记仅仅是绑定上的优化,并不包括数据源.数据 ...
- .NET MVC Razor模板预编译(二)
在前面一片文章:<.NET MVC4 Razor视图预编译(一)> 里面我采用的是PrecompiledMvcViewEngineContrib组件进行预编译视图的虚拟地址注册,但是这个组 ...
- Restful 介绍及SpringMVC+restful 实例讲解
restful不是一个框架,称为一种编码更烦更贴切吧,其核心类位于spring-web.jar中,即RestTemplate.class restful是rpc通过http协议的一种实现方式,和web ...
- ASP.NET MVC 5调用其他Action
引用代码: @Html.Action("Index", "BaseData", new { d = "variety" }) 后台获取参数: ...
- c#编程基础之函数可变参数
可变参数:int sum (params int[] values)int sum (string name,params int[] values) 注意:params参数必须是形参表中的最后一个参 ...
- 如果你也会C#,那不妨了解下F#(2):数值运算和流程控制语法
本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-2.html 一些废话 一门语言火不火,与语言本身并没太大关系,主要看语言的推广. 推广得好,用的 ...