public class CloseAllActivity { public List<Activity> activities = new ArrayList<Activity>(); /** 使用此方法将当前Activity添加到Activity管理器列表中 */ public void add(Activity activity) { activities.add(activity); } /** 使用此方法将当前Activity从Activity管理器列表中移除 */ public void delete(Activity activity) { activities.remove(activity); } /** 使用此方法将Activity管理器列表中的所有Activity销毁掉 */ public void close() { for (Activity activity : activities) { if (!activity.isFinishing()) { activity.finish(); } } } }
===============华丽的分割线===============
使用时。在Activiy的onCreate方法中添加使用add方法:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); CloseAllActivity.add(this); setContentView(R.layout.activity_main); }
===============华丽的分割线===============
然后。重写onDestroy方法,在Activiy销毁时将该Activiy从Activity管理器列表中移除:
@Override protected void onDestroy() { ActivityCollector.removeActivity(this); super.onDestroy(); }
===============华丽的分割线===============
最后也是最关键的一步,当你想退出程序时。只要调用close方法即可:
CloseAllActivity.Close();