思路:搜集整个工程所有的activity,通过循环把工程中所有的activity都关闭。
搜集工程中的activity,可以由单例模式实现,
- import java.util.LinkedList;
- import java.util.List;
- import android.app.Activity;
- import android.app.Application;
- //实现Activity退出
- 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加入到List中
- public void addActivity(Activity activity){
- activityList.add(activity);
- }
- //遍历每个Activity退出
- public void exit(){
- for(Activity activity:activityList){
- activity.finish();
- }
- System.exit(0);
- }
- }
在工程里每个Activity的onCreate()方法里添加此Activity到MyApplication对象实例容器中,
MyApplication.getInstance().addActivity(this);
在需要结束所有Activity的时候调用
MyApplication.getInstance().exit();
就可以了。