Android退出时关闭所有Activity的方法

Android退出时,有的Activity可能没有被关闭。为了在Android退出时关闭所有的Activity,设计了以下的类:

//关闭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彻底关闭。

原文地址:https://www.cnblogs.com/mstk/p/3458350.html