Get the list of tasks associated with the calling application.
Finishes all activities in this task and removes it from the recent tasks list.
所以下面的方法,可以销毁当前应用所有Activity并且将此任务从最近任务列表中移除。 List<AppTask> appTasks = mActivityManager.getAppTasks(); for (AppTask at : appTasks) { at.finishAndRemoveTask(); }
请注意,以上API是在API21 新引入的,21以下版本将不能使用。
在API21 以下可以用Application注册Activity生命周期回调,进行Activity管理。
private static List<Activity> activities = new ArrayList<Activity>(); @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { if(!activity.isChild()){ activities.add(activity); } } @Override public void onActivityDestroyed(Activity activity) { if(!activity.isChild()){ activities.remove(activity); } } 结合 http://www.cnblogs.com/zhujiabin/p/5674982.html 可以较好的实现App应用程序的退出。