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

时间:2022-05-03 07:22:02

本文示例实现了Android退出时关闭所有Activity的功能,分享给大家供大家参考之用。具体方法如下:

一般来说,在Android退出时,有的Activity可能没有被关闭。为了在Android退出时关闭所有的Activity,这里给出了以下的类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//关闭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)方法中增加一句:

?
1
CloseActivityClass.activityList.add(this);

在应用退出时:

?
1
CloseActivityClass.exitClient(MainActivity.this);

这样,当退出应用时就可以将该应用的所有Activity彻底关闭。

相信本文所述对大家的Android程序设计有一定的借鉴价值。