位置: 编程技术 - 正文

Android 退出整个应用程序解决方案(android退出功能)

编辑:rootadmin

推荐整理分享Android 退出整个应用程序解决方案(android退出功能),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android 退出activity,android退出功能,android 完全退出app,android退出整个程序再次打开依旧是退出页面,android退出整个程序再次打开依旧是退出页面,android退出整个程序,android退出整个程序,android退出整个程序再次打开依旧是退出页面,内容如对您有帮助,希望把文章链接给更多的朋友!

1、通过广播

相信有过项目经验的同学都遇到过这样的问题,就是设计“退出”功能时可能会遇到有些界面不能关闭的问题。当然如果你的项目所有的界面都在打开另一个界面时被关闭就不存在这个问题了,但大多数情况下这样是很不合理的,因为每次要查看这个界面都需要重新加载数据。尤其对于需要走网络的数据显示,这不仅效率低而且成本高。

网上大概有以下几种方法解决这个问题:

但这些貌&#;不是万能的,有的说在2.2版本后就失效了,那我们怎么办呢?在起初的一个项目里我用了一个比较笨的方法,我用一个类来专门管理所有的Activity。这个类里有一个List,每打开一个Activity我就把这个Activity放到这个List中,当退出时再将List中所有的Activity一个一个的关闭。

在后来的项目中发现了一个更好地方法,就是通过广播来完成退出功能,具体实现过程是这样的:在每个Activity创建时(onCreate时)给Activity注册一个广播接收器,当退出时发送该广播即可。大概的代码如下:

相信聪明的大家会把上面的代码写在一个基类里面,因为如果你的项目中Activity很多的话,写起来很麻烦,而且也不符合代码规范。

在退出时执行以下代码即可关闭所有界面完全退出程序:

Android 退出整个应用程序解决方案(android退出功能)

getApplicationContext().sendBroadcast(new Intent("finish"));

转载: 在D中使用下面的代码: Intent intent = new Intent(); intent.setClass(D.this, A.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //注意本行的FLAG设置 startActivity(intent); finish();关掉自己 在A中加入代码: Override

protected void onNewIntent(Intent intent) { // TODO Auto-generated method stub

super.onNewIntent(intent);

//退出

if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) {

finish();

}

}

A的Manifest.xml配置成android:launchMode="singleTop"

原理总结: 一般A是程序的入口点,从D起一个A的activity,加入标识Intent.FLAG_ACTIVITY_CLEAR_TOP这个过程中会把栈中B,C,都清理掉。因为A是android:launchMode="singleTop" 不会调用oncreate(),而是响应onNewIntent()这时候判断Intent.FLAG_ACTIVITY_CLEAR_TOP,然后把A finish()掉。 栈中A,B,C,D全部被清理。所以整个程序退出了。

android快递跟踪进度条 android快递跟踪进度条activity.classimportjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importandroid.app.Activity;importandroid.os.Bundle;importandroid.wi

获取Android设备的唯一识别码|设备号|序号|UUID 如何获取一个能唯一标识每台Android设备的序号?这个问题有很多答案,但是他们中的大部分只在某些情况下有效。根据测试:所有的设备都可以返回一

Android刷新本地相册 发现程序把图片保存到sdcard后,在相册里面找不到,只有在sdcard重新装载后会出现图片;原来图片保存到本地后,需要通知相册,加上如下代码就好了

标签: android退出功能

本文链接地址:https://www.jiuchutong.com/biancheng/384258.html 转载请保留说明!

上一篇:android 4.0 兼容性问题 java.lang.NoSuchMethodError TextView.setBackground(如何解决android兼容问题)

下一篇:android快递跟踪进度条(跟踪快件)

  • 个人所得税退付手续费是给企业还是会计
  • 城镇土地使用税暂行条例
  • 初级税务师什么时候报名
  • 所得税优惠政策最新2022
  • 医疗保险单位和个人交的区别
  • 在外地设立分公司如何办理
  • 增值税包括哪些内容
  • 地方教育费附加的计税依据是什么
  • 年报现金流量表可以不填吗
  • 毛利率和主营利润率的区别
  • 打印社保缴费凭证需要什么证件
  • 附加税费申报表出不来数据
  • 专票当月认证后什么时候抵扣
  • 建筑公司核定征收所得税怎么算
  • 房地产开发企业预缴增值税
  • 保险公司多赔付的钱需要退还吗
  • 非正常损失允许税前扣除吗
  • 地税注销流程
  • 开票的时候如何把价格分散开
  • 会计估计变更由谁审批
  • 公司注销要给钱吗
  • 外购固定资产如何入账
  • 支付工人保险费计入什么科目里
  • 代扣代缴增值税怎么申报
  • 赔偿给客户的钱抵扣货款的会计分录
  • 因质量问题被扣的货款销售方怎么做账
  • 外籍人员个人所得税政策2023规定
  • 应付职工薪酬怎么做记账凭证
  • 结算成本处理怎么取消
  • wordpress如何使用
  • 工伤补贴如何做凭证
  • Obsidian:实现日记记录【设计并使用模板】
  • 企业租赁发票税率是多少2023年
  • php脚本工作流程
  • wnba艾琳娜多恩
  • 已计提完的固定资产怎么弄
  • php逆序排列数组
  • 增值税专用发票有几联?
  • 机器学习——图像分类
  • trace命令详解
  • 命令执行函数echo
  • 销售折扣购物卡怎么做账
  • 增值税普通发票税率
  • 增值税电子发票怎么领用
  • 物权转移手续是什么
  • mac安装mysql8.0
  • 发票说明格式
  • 征地拆迁的费用可以作为资产吗
  • 企业合并发生的法律服务费影响利润总额吗
  • 承兑汇票大回头是什么意思
  • 一般纳税人购销合同印花税怎么算
  • 材料采购发票未到
  • 预付账款可以开发票吗
  • 异地建筑服务开全电发票
  • 往来核算是指会计核算中的资金往来业务
  • 结转借贷方向如何计算
  • 免税蔬菜交企业所得税吗
  • 出口不退税进项要转出吗
  • 出纳的现金日记账表格怎么做
  • 进入四大会计师事务所怎么样
  • 明细账填制要求
  • 记账凭证是什么填制的?A.由经办人
  • 请问在哪里可以买到震楼器
  • linux 命令帮助
  • win7系统如何卸载office2007
  • OS X Yosemite系统下载失败怎么办?OS X 10.10下载错误解决方法
  • 如何修改linux系统名称
  • win8系统怎么取消屏保
  • win8系统怎么设置密码登陆
  • Linux系统中矢量图ai格式怎么打开?
  • vnc登录linux
  • 锁屏壁纸设置后不显示怎么办
  • WIN10系统怎么查看隐藏的文件夹
  • win7资源管理器不停的崩溃重启
  • javascript数据结构与算法 pdf
  • cocos2d原理
  • 表格指定高度是多少
  • unity3d导出fbx文件
  • javascript与java
  • Python的SQLalchemy模块连接与操作MySQL的基础示例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设