位置: 编程技术 - 正文

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快递跟踪进度条(跟踪快件)

  • 期间费用明细表怎么填
  • 无形资产摊销完后有余额吗
  • 发票货物名称前带星号规定
  • 生产成本月末有余额怎么结账
  • 信用减值损失是什么类科目
  • 查账征收企业所得税年报怎么填
  • 机械设备租赁印花税谁交
  • 发票采集即征即退怎么填
  • 偶然所得申报表
  • 医院会计制度准则
  • 公司股东变更麻烦吗?
  • 财务中预付账款是什么意思
  • 应收外币账款如何入账
  • 现金管理规定有哪些主要内容
  • 简易计税项目的分包款为建筑服务劳务费,可以扣除吗
  • 长期股权变更
  • 怎么用手撕胶带图解
  • 活动费的税率
  • 旧发票专用章如何处理
  • 增值税税控系统专用设备
  • 企业预缴多交税了如何申请退税
  • 在会计上跨季度增值税专用发票怎么进行红冲?
  • 劳务派遣公司支付劳务费怎么做账
  • 卫生防疫站调拨是什么意思
  • 如何维护电脑系统安全?
  • 企业重组后的债务怎么算
  • vue print nb 教程
  • 代收代付款项入账需要什么资料
  • 长期借款和应付利息
  • php日历如何实现
  • 固定资产卡片账自固定资产报废后的保管期限是
  • php对接mysql
  • 时间序列转换
  • 当月没有生产情况正常吗
  • 进口货物没有发票怎么入账,报税时怎么填
  • 出租房屋收取跨年度的预收租金收入
  • 运输发票抵扣税率是多少
  • 电子发票税率怎么改
  • 织梦如何使用
  • 货款必须对公帐户支付吗
  • 缴纳以前年度房产税分录
  • 年度利润表与12月利润表区别
  • 营业额包括成本价吗
  • 银行存款余额调节表编制
  • 单位出租不动产,按照5%的征收率计算应纳税额
  • 生育津贴是否需要缴纳增值税
  • 企业所得税什么时候计提
  • 接待客户的住宿费进项税能否抵扣
  • 原材料存货跌价准备
  • 两个公司的出纳怎么分账
  • 注册资本为0的公司可以去吗
  • 库存周转率中销量怎么算
  • 其他债权投资有没有减值准备
  • 不能抵扣的进项税额转出会计分录
  • 银行存款日记账与银行对账单之间的核对属于
  • mysql几天能学会
  • mysql语句删除表
  • mysql5.7版本的服务的名字是
  • sqlserver数据库迁移至mysql
  • windows7如何设置
  • 如何使用组策略脚本
  • linux 获取网页
  • linux命令ls-l
  • macos catalin
  • icg是什么文件
  • win10小娜怎么用不了
  • linux系统管理命令有哪些
  • unity3d网络游戏开发
  • Errors running builder 'Android Resource Manager' on Project java.lang.NullPointerException
  • unity3d导出fbx文件
  • javascript的基本数据
  • Android多个surface
  • 社保银行代扣收费吗
  • 国税和地税比例
  • 房产税江苏2021年征收标准
  • 厦门市地方税务局市稽查局关于规范稽查有关规定
  • 济宁高新区税务局办税大厅电话
  • 滨州税务局公务员工资
  • 发票开具显示获取纳税人基础信息失败,请退出?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设