有时候按返回键在你的最根层并不能退出所有Activity,而是出现上几次启动的Activity。
如何退出所有程序呢?我这里利用单例模式退出Application,建立一个Activity栈来管理
package cn.jju.vo; import java.util.LinkedList; import java.util.List; import cn.jju.edu.main.MainActivity; import android.app.Activity; import android.app.Application; public class MyApplication extends Application { private List<Activity> listActivity = 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){ listActivity.add(activity); } //遍历所有Activity并且finish public void exit(){ for(Activity act:listActivity){ if(!act.isFinishing()){ act.finish(); } } System.exit(0); } public void finishActivity(){ for(Activity act:listActivity){ if(!act.isFinishing()){ act.finish(); } } } //获取列表的长度 public int getLength(){ return listActivity.size(); } public Activity getActivity(int location){ return listActivity.get(location); } }