做Android項目,退出程序時,有時不能退出所有的activity,這時我們就需要在退出時,關閉所有的activity。思路:當activity創建的時候把當前的Activity對象存放起來,等到退出的時候,關閉所有的Activity。為此,寫了一個MyApplication類,用於存放所有的Activity。代碼如下:
[java]
package com.dt5000.ischool.util;
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
/**
* 用於處理退出程序時可以退出所有的activity,而編寫的通用類
* 每個Activity在oncreate的時候都需調用MyApplication.getInstance().addActivity(this);
* 以便將當前Activity加入到Activity集合中
* @author duanyr
*
*/
public class MyApplication extends Application {
private List<Activity> activityList = new LinkedList<Activity>();
private static MyApplication instance;
private MyApplication() {
}
// 單例模式中獲取唯一的MyApplication實例
public static MyApplication getInstance() {
if (null == instance) {
instance = new MyApplication();
}
return instance;
}
// 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}
// 遍歷所有Activity並finish
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
System.exit(0);
}
}