位置: 编程技术 - 正文

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

  • 所得税申报表的营业成本包括费用吗
  • 公司首次申报个税怎么填
  • 进项税额转出要交企业所得税吗
  • 专票小数点没打印齐能用吗
  • 什么时候确认应收股利
  • 海关进口增值税专用缴款书如何抵扣
  • 小企业工资薪酬制度
  • 卖二手车发票如何做账?
  • 房地产开发企业销售自行开发的房地产项目
  • 基本医疗保险是什么?
  • 风险纳税人怎么查询
  • 印花税减半优惠政策2019
  • 银行端查询缴税凭证在哪里缴费
  • 成品油发票应该怎么冲红?
  • 应收账款周转天数正常范围
  • 怎么分配工业企业材料费用?
  • 企业利息收入如何做分录
  • 仓库存在不足
  • 2020工会经费退费
  • 华为正式发布鸿蒙官网
  • 前端 vue
  • 储金会是干什么的
  • 实收资本大于注册资本是什么意思
  • 利润增减幅度
  • 包工队人员受伤该由谁负责
  • 房地产预缴所得税怎么算
  • 正在加工的在产品是什么科目
  • 杭州西湖古风
  • 深入php第五版中文版pdf
  • 缺陷修饰
  • 结算业务书汇票怎么写
  • 长期待摊费用是资产
  • 织梦如何采集文章
  • python中import语句
  • 代扣代缴完税凭证抵扣期限
  • 个人所得税是可以全部退回吗
  • 收到政府扶贫款如何做分录
  • 一般纳税人作废小规模时开的发票怎么报税
  • 本年利润的会计编码
  • 期初余额调整怎么做凭证
  • 土地出让合同的法律效力
  • mysql导出用户和权限
  • 软件企业的研发费用占比
  • 递延收益金额怎么算
  • 开出银行承兑汇票一张用于支付材料采购款
  • 国有控股企业股权转让程序
  • 同一个客户有应收也有应付怎么办
  • 房地产公司员工购房
  • 成本核算方法有哪几种
  • 管理费用怎么结转到本年利润未分配利润里了
  • 农产品加计扣除10%进项税账务处理
  • mysql索引方式有哪些
  • SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
  • Sqlserver timestamp数据类使用介绍
  • mysql的行转列
  • win7系统权限设置
  • win8操作
  • 设置共享文件夹win10
  • xp系统怎么找回删除的文件
  • 如何重置win10
  • window打开
  • linux ora11g安装教程
  • win8系统没有自带的游戏吗
  • win7系统怎么查看隐藏文件夹
  • ES6 javascript中class静态方法、属性与实例属性用法示例
  • unity如何避免碰撞穿透
  • 学习雷锋好榜样
  • (转)Unity3D NGUI在UI上显示3D模型
  • unity备份工程
  • jQuery实现的tab标签切换效果示例
  • python流数据
  • javascript零基础入门
  • python自定义min_self函数
  • javascript语言入门教程
  • android数据存储与访问的方式有
  • swift method swizzling
  • Python第三方库的常见安装方法有
  • 咸阳国税局长是哪里人
  • 企业所得税率2023年
  • 国税能级管理(国税局等级制度)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设