- 2
- 0
- 约小于1千字
- 约 2页
- 2017-06-08 发布于重庆
- 举报
android多activity退出整个程序的一个实现
?
android多activity退出整个程序的一个实现
分类:?Android2011-11-18 17:04?52人阅读?评论 0 ?收藏?举报问题:多activity中退出整个程序,例如从A- B- C- D,这时我需要从D直接退出程序。
网上资料: finish 和system 0 都只能退出单个activity。杀进程等的等方式都不行~~~解决问题:我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在D窗口打开A窗口时在Intent中直接加入标志Intent.FLAG_ACTIVITY_CLEAR_TOP,再次开启A时将会清除该进程空间的所有Activity。在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全部被清理。所以整个程序退出了。
您可能关注的文档
- 2015一级建造师民航机场工程真题及答案.doc
- 2015商洛事业单位考试公共基础知识社会发展道路的统一性和多样性前进性和曲折性.doc
- 2015国家公务员面试真题【统计局面试题】.doc
- 2015六年级音乐教学计划表.doc
- 2015山西计算机基础知识计算机网络的星型拓扑结构的概述及优缺点.doc
- 2015届高三数学小题训练5套带详解.doc
- 2015年中级金融知识点预习我国的通货膨胀及其治理.doc
- 2015年专八听力mini-lecture真题doc.doc
- 2015年南平市初中毕业班适应性考试参考答案和评分标准.doc
- 2015年四川公务员考试行测练习题及答案解析之数学运算.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)