因为我程序中有很多跳转,使用finish()只能退出当前界面,其它界面无法退出
android.os.Process.killProcess(android.os.Process.myPid()) //获取PID
System.exit(0); //常规java、c#的标准退出法,返回值为0代表正常退出
上面这种也不行,只能退出当前界面,无法退出其它界面
经过上面折腾,我知道 finish() 能够退出当前界面,所以就可以弄个集合把开过的界面存起来,然后当需要退出的时候循环退出即可
步骤如下:
1.在一个通用类中加如下代码:
public static List<Activity> activities=new ArrayList<Activity>(); //定义存储容器
// 添加界面
public static void addActivity(Activity acticity)
{
if(!activities.contains(acticity))
{
activities.add(acticity);
}
}
public static void removeActivity(Activity activity)
{
activities.remove(activity);
}
// 释放界面
public static void finishAll() {
for (Activity activity : activities) {
if (!activity.isFinishing()) {
activity.finish();
}
}
activities.clear();
}
2.在每个界面的onCreate()方法里面把界面对象添加到集合中
AppConfig.addActivity(this); //20221207
3.在需要退出程序的时候,执行通用方法finishAll来释放界面即可
不喜欢写代码,就喜欢改代码,C#/Python都可以,欢迎各位留言探讨!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界