Android退出时,有的Activity可能没有被关闭。为了在Android退出时关闭所有的Activity,设计了以下的类:
class="brush:java;gutter:true;">//关闭Activity的类 public class CloseActivityClass{ public static List<Activity> activityList = new ArrayList<Activity>(); public static void exitClient(Context ctx) { // 关闭所有Activity for (int i = 0; i < activityList.size(); i++) { if (null != activityList.get(i)) { activityList.get(i).finish(); } } ActivityManager activityMgr = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE ); activityMgr.restartPackage(ctx.getPackageName()); System.exit(0); } }
然后在应用中每一个Activity的onCreate(Bundle savedInstanceState)方法中增加一句:
CloseActivityClass.activityList.add(this);
在应用退出时:
CloseActivityClass.exitClient(MainActivity.this);
这样,当退出应用时就可以将该应用的所有Activity彻底关闭。