Android退出App

发布时间:2025-12-09 11:52:59 浏览次数:1

Android退出App

Android退出app

我是用在用户协议未同意时退出app的

关闭所有的Activity

  1. 新建一个AndroidCollector文件,定义一个LinkedList;
  2. 定义addActivity()方法,用于添加Activity到集合中;
  3. 定义removeActivity()方法,用于删除Activity;
  4. 定义finishAll()方法,用于关闭集合中的所有Activity;
  5. BaseActivity()中重写onCreate和onDestroy;
  6. 在需要的地方调用finishAll();

具体代码如下:

ActivityCollector

/*关闭所有的Activity */public class ActivityCollector {    public static LinkedList<Activity> activities = new LinkedList<Activity>();    /*    添加Activity     */    public static void addActivity(Activity activity){        activities.add(activity);    }    /*    删除Activity     */    public static void removeActivity(Activity activity){        activities.remove(activity);    }    //关闭所有的Activity    public static void finishAll(){        for (Activity activity:activities){            if (!activity.isFinishing()){                activity.finish();            }        }    }}

BaseActivity

public class BaseActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        ActivityCollector.addActivity(this);    }    @Override    protected void onDestroy() {        super.onDestroy();        ActivityCollector.removeActivity(this);    }}

完全退出app

上面那个只是关闭所有的Activity,但生成的线程之类的没有退出,所以调用了ActivityCollector.finishAll())之后再加上:

//关闭所有的Activity;ActivityCollector.finishAll();  //完全退出App        ActivityManager activityMgr = (ActivityManager) context                  .getSystemService(Context.ACTIVITY_SERVICE);          activityMgr.killBackgroundProcesses(context.getPackageName());          System.exit(0);
android退出app
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477