【工具类】Android退出多个Activity

// 不能把应用程序完全杀死,并且也不会把当前的Activity栈清空。

android.os.Process.killProcess(android.os.Process.myPid())

 

// 不会把自己的应用程序杀死。

System.exit(0);

 

// 可以杀死别的程序的进程,但是无法杀死自己的进程。

ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);   

manager.restartPackage(getPackageName());

<uses-permission android:name="android.permission.RESTART_PACKAGES" />

【正确的使用方法】

创建出来整个应用程序的 全局的实例。

在整个应用程序的进程第一次被创建的时候 执行。

 1 import java.util.LinkedList;
 2 import java.util.List;
 3 import android.app.Activity;
 4 import android.app.Application;
 5 
 6 /** 8  * Title: ExitApplication.java</br> 
 9  * Description:退出APP </br> 
10  * Create Date:2012-10-11 </br> History: <br/>
11  * -------Date-----------Modifer-------------------Remark------------- 
12  * 2012-8-7   DuanRan     create     
13  * @author: duanran<br/>
14  */
15 public class ExitApplication extends Application {
16     
17     private List<Activity> activityList = new LinkedList<Activity>();
18     private static ExitApplication instance;
19 
20     private ExitApplication() {
21         
22     }
23 
24     // 单例模式获取唯一的exitapplication
25     public static ExitApplication getInstance() {
26         if (null == instance) {
27             instance = new ExitApplication();
28         }
29         return instance;
30     }
31 
32     // 添加activity到容器中
33     public void addActivity(Activity activity) {
34         if(!activityList.contains(activity))
35              activityList.add(activity);
36         
37     }
38 
39     // 遍历所有的Activiy并finish
40     public void exit() {
41         for (Activity activity : activityList) {
42             activity.finish();
43         }
44         System.exit(0);
45     }
46     
47     public void remove(Activity ar){
48         activityList.remove(ar);
49     }
50 }

在配置文件中,application中加入 android:name="ExitApplication".

在Activity中调用:

// 初始化的时候使用,把当前Activity添加进去
ExitApplication.getInstance().addActivity(this);

// 退出程序的时候,把所有Activity删除掉
ExitApplication.getInstance().remove(this);
原文地址:https://www.cnblogs.com/androidsj/p/2972994.html