android开发完全退出activity
我们退出Activity可以调用:finish(),system(0),但是这些都只是单单退出单个Activity
也有人会说,直接把进程杀死,这些做法都不是很可取,其实我们翻看api可以发现,Activity
都是放入stack中管理,我们只要把stack清空了,不就完全退出了嘛。要对Activity的stack
管理,就需要了解launchMode的四种状态,这里就不多说了,自己看看api。
我们就利用android:launchMode="singleTop",当该Activity在栈顶时,会清空它下面的Activity
然后把当前Activity finish掉,就完全关闭了。
实例 A,B,C,D四个Activity;A作为入口,在manifest.xml设置android:launchMode="singleTop"
其他几个不需要设置。启动顺序 A->B->C->D
这里我们在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中代码:
protected void onNewIntent(Intent intent) {super.onNewIntent(intent);//退出if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) {finish();
}
}
因为A是android:launchMode="singleTop"不会调用oncreate(),而是响应onNewIntent()
这时候判断Intent.FLAG_ACTIVITY_CLEAR_TOP,然后把A finish()掉。
B,C也被清掉了,因为A中是android:launchMode="singleTop",栈下面的都被清理。
栈中A,B,C,D全部被清理。所以整个程序退出了。
android开发完全退出activity相关推荐
- android开发全然退出activity
我们退出Activity能够调用:finish(),system(0),可是这些都仅仅是单单退出单个Activity 也有人会说,直接把进程杀死,这些做法都不是非常可取.事实上我们翻看api能够发现. ...
- android开发中的 Activity 与 Context 区别与联系
Context 是 Application /Activity /Service的基类 Intent(Context , Class); Activity中的上下文Context是随着活动的产生而产生 ...
- Android开发:利用Activity的Dialog风格完成弹出框设计
转:http://www.linuxidc.com/Linux/2011-08/41933.htm 在我们使用Dialog时,如果需要用到很多自己设计的控件,虽然可以让弹出框显示出我们需要的界面,但却 ...
- Android开发--Service和Activity通过广播传递消息
Android的Service也运行在主线程,但是在服务里面是没法直接调用更改UI,如果需要服务传递消息给Activity,通过广播是其中的一种方法: 一.在服务里面发送广播 通过intent传送数据 ...
- android 开发 - 结束所有activity
每一个activity都有自己的生命周期,被打开了最终就要被关闭. 四种结束当前的activity方法 1 //关闭当前activity方法一 2 finish(); 3 4 //关闭当前界面方法二 ...
- 【Android开发】 在Activity中使用Menu
在Activity中使用Menu Android给我们提供了一种方式,可以展示菜单的同时,还能不占用任何的屏幕空间 新建xml 首先在res目录下新建一个menu文件夹,右键res目录 - New - ...
- android开发学习——关于activity 和 fragment在toolbar上设置menu菜单
在做一个项目,用的是Android Studio 系统的抽屉源码,但是随着页面的跳转,toolbar的title需要改变,toolbar上的menu菜单也需要改变,在网上找了好久,也尝试了很多,推荐给 ...
- android四大组件之Activity(三)
这是一篇关于android开发四大组件Activity部分的笔记之一,其中主要介绍Activity的生命周期以及一些实例等内容.这里所用到的开发工具是Android4.1. 目录 14.Activit ...
- Android 开发艺术探索 看不懂对着书敲慢慢理解,设计模式之禅总结,平时记录的笔记,3w多次字防止丢失,留存。
知识点1: 1.子线程为什么不允许访问ui因为android中的ui控件不是线程安全的. 2.为什么不给Ui加上锁的机制,第一点 会让ui访问的逻辑变得复杂,其次降低ui访问的效率. 3.List转化 ...
- android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
转载:http://blog.csdn.net/xiabing082/article/details/48781489 1. 大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...
最新文章
- 【报告】2021物联网行业研究报告(附PDF下载)
- [WinError 10038] 在一个非套接字上尝试了一个操作
- python元类、反射及双线方法
- java 复选框怎么用_Java Swing公开课|Java Swing的复选框组件怎么用,看完这篇文章你一定就会了...
- netty冲突 play sbt_尝试添加MySQL / slick后,Strange Play Framework 2.2异常
- 网络通信 route(公司局域网配置)
- Angular2 指令
- resultMap标签与resultType的异同
- Filter过滤器实现登录权限拦截
- 三维坐标系旋转——旋转矩阵到旋转角之间的换算
- 【Docker】给运行的容器添加端口映射
- 如何实现数据持久性保障机制
- 年轻人如何去有效的学习(很好的鸡汤,一语惊醒梦中人)
- ntfs linux,NTFS-3G (简体中文)
- linux下光模块信息命令,华为交换机查看光模块信息命令
- CTFhub备份文件下载
- math.h数学函数
- 电脑使用技巧 (C盘空间扩容)
- 树莓派u盘启动并扩容
- JavaScript百炼成仙 1.14 秀