打开一个Activity, 关闭之前所有的Activity.
2017-05-02 22:23
211 查看
方法一 :
方法二 :
在每次新打开的Activity的 oncreat() 方法中调用 addActivity () 方法, 关闭所有Activity的时候调用 finishActivity() 即可.
Intent intent = new Intent(this, LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
方法二 :
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(); } activityList.clear(); } /** * 结束指定的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的 oncreat() 方法中调用 addActivity () 方法, 关闭所有Activity的时候调用 finishActivity() 即可.
相关文章推荐
- 打开一个Activity, 关闭之前所有的Activity.
- 如何关闭 一个 应用中的所有 Activity
- 终于找到了不用自定义一个activity栈,来关闭所有activity的方法了!!!
- 在一个Activity中关闭所有Activity
- 一个面试题引发的思考:Android应用退出时候,关闭所有的Activity
- 终于找到了不用自定义一个activity栈,来关闭所有activity的方法了!!!
- 关闭 一个 应用中的所有 Activity
- 新建一个Activity通过按钮打开它,再通过按钮关闭它
- android学习:Activity简单操作---打开、关闭一个新的Activity
- 由于一个或多个其它网络页属性已经打开,这个属性页上的部分控件被禁用,要想使用这些软件,请先关闭所有属性页,然后将这个属性页重新打开
- 由于一个或多个其他网络页属性已经打开,这个属性页上的部分控件被禁用。想要使用这些控件,请先关闭所有属性页,然后将这个属性页重新打开
- 如何关闭 一个 应用中的所有 Activity
- ASP.NET关闭当前窗口同时打开一个新窗口
- IE6中,一个Button同时打开两个下载窗口,并且可以自动关闭
- 关闭所有打开的Access对象
- ASP.NET关闭当前窗口同时打开一个新窗口
- 关闭所有打开的子窗口
- 关闭一个窗口,提示关闭并打开另一个新窗口
- 一个深刻的教训——VS打开项目后自动关闭
- [转载]ASP.NET关闭当前窗口同时打开一个新窗口