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.
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应用程序的退出。