package com.example.activitytest; import java.util.ArrayList; import java.util.List; import android.app.Activity; 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 void finishAll() { for (Activity activity : activities) { if (!activity.isFinishing()) { activity.finish(); } } } }
1 package com.example.activitytest; 2 import android.app.Activity; 3 import android.os.Bundle; 4 import android.util.Log; 5 6 public class BaseActivity extends Activity { 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) { 10 super.onCreate(savedInstanceState); 11 Log.d("BaseActivity", getClass().getSimpleName()); 12 ActivityCollector.addActivity(this); 13 } 14 15 @Override 16 protected void onDestroy() { 17 super.onDestroy(); 18 ActivityCollector.removeActivity(this); 19 } 20 21 }