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