Android中Activity的管理

来源:互联网 发布:linux统计ls-l行数 编辑:程序博客网 时间:2024/05/17 23:45

在实际的开发过程中,一个Android应用可能会有多级界面,一般的情况下,都是按返回键逐层从子界面返回,直到第一级界面,再按返回键退出整个应用。
但是在实际的开发过程中,可能会有这样的需求,即我们需要在子界面直接退出整个应用,也即关闭应用中所有没有被销毁的Activity。这实际上是Activity的管理问题。

这里提供一种Activity的管理的方法:
自定义一个Activity的管理类,有一个Activity的列表成员变量用于存放应用中活动的Activity。并且定义添加Activity到列表和从列表中移除Activity的方法。

public class ActivityManager{public static List<Activity> activityList=new ArrayList<Activity>();/*将某个Activity添加到列表中*/public static void addActivity(Activity activity){      activityList.add(activity);}/*将某个Activity从列表中移除*/public static void removeActivity(Activity activity){       activityList.remove(activity); }/*finish掉列表中所有的Activity*/public static void finishAllActivity(){    for(Activity activity:activityList){            if(activity!=null){                activity.finish();            }     }}}

上面是一个Activity的管理类的定义。
这样在应用程序中的所有Activity的onCreate周期函数中调用addActivity方法将Activity添加到列表中,在Activity的onDestory方法中调用removeActivity方法将Activity从列表中移除。这样列表中保存的始终是应用中活动的Activity。
如果我们需要在某个界面直接退出整个应用,可以调用finishAllActivity方法finish调所有的Activity。

0 0
原创粉丝点击