1.新建类活动管理器类ActivityCollector
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(); } } } }
提供了一个 addActivity()方法用于向 List 中添加一个活动
提供了一个 removeActivity()方法用于从 List 中移除活动
最后提供了一个 finishAll()方法用于将 List 中存储的活动全部都销毁掉
2.新建类BaseActivity继承于Activity
在BaseActivity中不设置界面,把其他所有类继承于BaseActivity,他们也会继承Activity中的所有内容;
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName());//监控是哪个activity启动 ActivityCollector.addActivity(this); } @Override protected void onDestroy() {//活动关闭,则从activity中移除该活动
super.onDestroy(); ActivityCollector.removeActivity(this); } }
3.在你需要的时候,调用ActivityCollector.finishAll(); 就能关掉所有活动啦!
时间: 2024-10-06 10:41:35