android 关闭多个或指定activity
2015-05-20 10:46
267 查看
打开了。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关闭指定的activity
- android 关闭指定的Activity
- android开发中需要关闭指定activity的方法
- 【Android】Android开发之Activity的管理类,结束关闭指定的Activity,单例模式封装
- Android中如何关闭一个指定的Activity
- android 在activity里面关闭指定的页面
- [置顶] 【Android】Android开发之Activity的管理类,结束关闭指定的Activity,单例模式封装
- android 关闭所有activity
- 关闭android程序里所有的activity 分类: Android Activity 2014-06-22 12:30 131人阅读 评论(0) 收藏
- [Android实例] 销毁activity时注意关闭线程
- Android开发中在一个Activity中关闭另一个Activity
- android 中如何activity如何关闭一个开启自启动的service
- Android启动关闭Activity
- Android开发,关闭所有activity的方法
- Android 关闭多个视图Intent.FLAG_ACTIVITY_CLEAR_TOP用法
- Android 关闭多个视图Intent.FLAG_ACTIVITY_CLEAR_TOP用法
- android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现
- android 退出时 同时关闭多个activity
- Android开发中在一个Activity中关闭另一个Activity