把栈内的Activity加入到集合当中,配合BaseActivity进行使用 public class ActivityCollector { public static List<Activity> activities = new ArrayList<Activity>(); public static void addActivity(Activity activity) { activities.add(activity); } public static void removeActivity(Activity activity) { activities.remove(activity); } public static String getActivity() { return activities.get(activities.size() - 1).getLocalClassName(); } //退出所有的Activity public static void finishAll() { for (Activity activity : activities) { if (!activity.isFinishing()) { //退出Activity activity.finish(); } } } //只保留MainActivity public static void showMainActivity() { for (int i = activities.size()-1;i>=1;i--){ Log.e("Activity", "finishActivity: "+i); if(!activities.get(i).isFinishing()) { activities.get(i).finish();//退出Activity } } } }