一、一般来说,在Android退出时,有的Activity可能没有被关闭。为了在Android退出时关闭所有的Activity,这里给出了以下的类:
public class CloseActivityClass {
public static List activityList = new ArrayList();
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而不是退出程序需注释掉以下代码
ActivityManager activityMgr = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE );
activityMgr.restartPackage(ctx.getPackageName());
System.exit(0);