Android 退出应用程序的实现方法

发布时间 - 2026-01-11 00:43:25    点击率:

Android 退出应用程序的实现方法

         android 退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C三个Activity,而想在B 或C 中Activity 退出,调用上面的方法,往往会销毁当前的Activity 返回上一个Activity。当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程
序。但这样比较麻烦,而且逐个返回的体验并不友好。下面这种方法是写一个SysApplication 类,利用单例模式管理Activity,在每个在Activity 的onCreate()方法中调用ExitApplication.getInstance().addActivity(this)方法,在退出时调用ExitApplication.getInstance().exit()方法,就可以完全退出应用程序了。

import java.util.LinkedList; 
import java.util.List; 
import android.app.Activity; 
import android.app.Application; 
 
public class SysApplication extends Application{ 
 private List<Activity> mList = new LinkedList<Activity>(); 
 private static SysApplication instance; 
  
 private SysApplication() 
 { 
 } 
 public synchronized static SysApplication getInstance() 
 { 
 if(null == instance) 
 { 
  instance = new SysApplication(); 
 } 
 return instance; 
 } 
 //add Activity 
 public void addActivity(Activity activity) 
 { 
 mList.add(activity); 
 } 
  
 public void exit() 
 { 
 try{ 
  for (Activity activity : mList) 
  { 
  if(activity != null) 
   activity.finish(); 
  } 
 }catch (Exception e){ 
  e.printStackTrace(); 
 }finally{ 
  System.exit(0); 
 } 
 } 
 public void onLowMemory(){ 
 super.onLowMemory(); 
 System.gc(); 
 } 
} 

在每个activity 的onCreate中调用SysApplication.getInstance().addActivity(this);

然后在退出应用的时候调用SysApplication.getInstance().exit();

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 退出应用程序的实现方法  # 完全退出应用程序  # Android 安全退出应用程序的方法总结  # Android中双击返回键退出应用实例代码  # Android Back键点击两次退出应用详解及实现方法总结  # Android实现点击两次BACK键退出应用  # Android退出应用最优雅的方式(改进版)  # Android完全退出应用程序的方法  # Android实现长按back键退出应用程序的方法  # android 完全退出应用程序实现代码  # Android 完全退出应用程序的解决方法  # 应用程序  # 第一个  # 在每个  # 希望能  # 这只  # 谢谢大家  # 往往会  # 就可以  # 跳转到  # 这种方法  # Activity  # getInstance  # addActivity  # pre  # onCreate  # SysApplication  # ExitApplication  # br  # span  # style 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在IIS7中新建站点?详细步骤解析  Laravel怎么清理缓存_Laravel optimize clear命令详解  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  如何用AI帮你把自己的生活经历写成一个有趣的故事?  如何解决hover在ie6中的兼容性问题  如何在局域网内绑定自建网站域名?  微信小程序 HTTPS报错整理常见问题及解决方案  焦点电影公司作品,电影焦点结局是什么?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  html5的keygen标签为什么废弃_替代方案说明【解答】  如何快速启动建站代理加盟业务?  JavaScript Ajax实现异步通信  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  JavaScript实现Fly Bird小游戏  如何挑选高效建站主机与优质域名?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Android自定义listview布局实现上拉加载下拉刷新功能  Python面向对象测试方法_mock解析【教程】  网站页面设计需要考虑到这些问题  千库网官网入口推荐 千库网设计创意平台入口  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  如何在Tomcat中配置并部署网站项目?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何在IIS中配置站点IP、端口及主机头?  JavaScript模板引擎Template.js使用详解  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  详解MySQL数据库的安装与密码配置  如何在香港免费服务器上快速搭建网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  手机软键盘弹出时影响布局的解决方法  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  如何在IIS管理器中快速创建并配置网站?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel如何处理和验证JSON类型的数据库字段  javascript基于原型链的继承及call和apply函数用法分析  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Firefox Developer Edition开发者版本入口  如何在阿里云高效完成企业建站全流程?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何在阿里云虚拟主机上快速搭建个人网站?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  晋江文学城电脑版官网 晋江文学城网页版直接进入  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  浅析上传头像示例及其注意事项  Laravel怎么实现验证码(Captcha)功能  QQ浏览器网页版登录入口 个人中心在线进入