您的位置:首页 > 其它

【一找客户端】退出应用时,关闭所有activity

2011-09-22 11:52 295 查看
在android中,Activity的生命周期一般是由系统进行控制的,即使我们能手都的进行finish()。 就利用这一点,来实现本文的功能。

在退出整个应用的时候,关闭所有activity。

多了不在说,都比较简单。 上代码,一看就懂。

/**
* activity管理器
* @author suntony
*
*/
public class ATManager {

//acticity打开列表
private static List<Activity> activityList = new LinkedList<Activity>();

public static void addActivity(Activity activity){
activityList.add(activity);
Log.d(Const.TAG, "ATManager.addActivity|activity="+activity+",activityList size="+activityList.size());
}

/**
* 退出应用
* @param context
*/
public static void exitClient(Context context){
for(int i=0; i < activityList.size(); i++){
//如果某个activity已经被系统回收,他就为null了。
if(null!=activityList.get(i)){
//否则,手动调用关闭。
activityList.get(i).finish();
}
}

ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);

int version = 0;

//获得系统版本
if(Build.VERSION.SDK!=null){
version = Integer.parseInt(Build.VERSION.SDK);
}

if(version < 8){
activityManager.restartPackage("com.yizhao.activity");
System.exit(0);
}else{
Log.d(Const.TAG, "version error, exit system fail!");
}
}

}


代码使用注意:

在每一处启动activity的地方都要调用addActivity方法。

在退出的地方调用exitClient方法。

PS: 追后,还是附上【一找客户端】工程代码。注意查看代码:ATManager。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: