ActivityManager
public List<ActivityManager.AppTask> getAppTasks ()
Added in API level 21
Get the list of tasks associated with the calling application.
Returns
- The list of tasks associated with the application making this call.
================================================================
ActivityManager.AppTask(Added in API level 21)
public void finishAndRemoveTask ()
Added in API level 21
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以下版本将不能使用。
Application
public void registerActivityLifecycleCallbacks (Application.ActivityLifecycleCallbacks callback)
Added in API level 14
Application.ActivityLifecycleCallbacks
abstract void | onActivityCreated( Activity activity, Bundle savedInstanceState) |
abstract void | onActivityDestroyed( Activity activity) |
在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應用程式的退出。