使用Intent的Flag设置启动參数
Intent中关于激活Activity的Flag
Intent类定义了一批常量,用于配置激活Activity时的相关參数;
在Intent中设置Flag
·调用Intent的setFlags()或addFlags()可配置Intent的Flag属性
属性值介绍:
FLAG_ACTIVITY_NEW_TASK
·尝试开启新的Task,可能产生的效果:
(1)假设当前已有Task与尝试激活的Activity的taskAffinity同样。则在该Task中直接压栈。
被激活的Activity获得栈顶位置;
(2)假设当前没有Task与尝试激活的Activity的taskAffinity同样。则创建新的Task
且被激活的Activity获得栈顶位置。
比如:
·App1中存在ActivityA与ActivityB,当前ActivityA已经激活。通过APP2
激活App1的ActivityB,回到桌面并点击App1的图标。会直接显示ActivityB,在整个过程中,App1
的2个Activity的Task ID同样,App2的Activity是还有一个Task ID。
FLAG_ACTIVITY_CLEAR_TASK
·清空被激活的Activity应该归属的Task,且被激活的Activity加入到该Task中获得栈顶位置
·该Flag应该与FLAG_ACTIVITY_NEW_TAST一起使用
FLAG_ACTIVITY_SINGLE_TOP
·位于栈顶是唯一,其特性可參考将<activity>中launchMode属性配置为singleTop
可是差别在于:Flag设置比較活,能够动态的设置,而launchMode设置比較死
FLAG_ACITVITY_CLEAR_TOP
·清除顶部,可能产生的效果:
·情景1:当Intent尝试激活Activity的实例在Task中不存在时。创建该Activity的实例,并
获得栈顶位置。
情景2:假设该Activity的实例已经存在。则清除Task中该实例之上的全部Activity,且
获得栈顶位置。
情景3:在情景2的基础上,假设该Activity的launchMode属性不是
singleTask或singleInstance时,该Activity原本存在的实例也会被移除。位于栈顶的是新创建的该Activity的实例
FLAG_ACTIVITY_CLEAR_WHEA_TASK_RESET
·当Task被Reset时,清除该Activity及在Task中位于该Activity之上的全部Activity
·当Task被置于后台,且又一次被置于前台时,则可能被Reset(由系统加入FLAG_ACTIVITY_RESET_TASK_IF_NEEDED),
通常通过点击应用程序图标回到前台时会Reset。而通过任务列表则不会。
FLAG_ACTIVITY_NO_HISTORY
。当Activity被置于后台之后,是否将其从Back Stack中清除并结束,其特性可參考<activity>的noHistory属性
使用Intent的Flag设置启动參数的更多相关文章
- 【翻译自mos文章】使用dbua升级时,须要手工设置CLUSTER_DATABASE參数么?
使用dbua升级时,须要手工设置CLUSTER_DATABASE參数么? 来源于: Is Manual Setting Of CLUSTER_DATABASE Parameter Required F ...
- Tokyo Tyrant(TTServer)系列(二)-启动參数和配置
启动參数介绍 ttserver命令能够启动一个数据库实例.由于数据库已经实现了Tokyo Cabinet的抽象API,所以能够在启动的时候指定数据库的配置类型. 支持的数据库类型有: ...
- mysql启动參数(/etc/my.cnf)具体解释汇总
在linux以下的/etc/my.cnf的參数具体解释汇总 MYSQL–my.cnf配置中文具体解释 basedir = path 使用给定文件夹作为根文件夹(安装文件夹). character- ...
- Spark 性能相关參数配置具体解释-任务调度篇
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 随着Spark的逐渐成熟完好, ...
- Spring 构造注入 传參数
1. 提供相应的构造方法 //构造器注入 public class Bean6 { private String name; private Integer age; // 服务于构造器 ...
- JVM垃圾收集相关经常使用參数
參 数 描 述 UseSerialGC 虚拟机执行在Client 模式下的默认值,打开此开关后,使用Serial + Serial Old 的收集器组合进行内存回收 UseParNewGC 打开此开关 ...
- cmake函数參数解析
近期在迁移公司的make系统到cmake上.发现cmake的function參数非常奇怪.比如,假设我们向一个function传递list作为參数,在function中,形參会变成例如以下状况: se ...
- matplotlib画图实例:pyplot、pylab模块及作图參数
http://blog.csdn.net/pipisorry/article/details/40005163 Matplotlib.pyplot画图实例 {使用pyplot模块} matplotli ...
- jQuery.ajax()方法中參数具体解析
前言 在项目开发中,为了实现异步向服务端发起请求,最常常使用的就是jQuery.ajax方法了.刚開始需求比較简单,调用jQuery.ajax方法时要传的參数也就那几个常见的參数:url/data/d ...
随机推荐
- SpringBoot @PathVariable 和 @requestParam区别
1.若获取的入参的 参数 是下面这种形式 就使用 @requestParam 去获取 参数‘1’ /user?id=1 // url:xxx/user?id=1 @RequestMapping(&qu ...
- android应用开发-从设计到实现 3-9 Origami动态原型设计
动态原型设计 动态的可交互原型产品,是产品经理和界面设计师向开发人员阐释自己设计的最高效工具. 开发人员不须要推測设计师要什么样的效果,照着原型产品做就好了. 非常多创业团队也发现了产品人的这个刚需, ...
- .Net视图机制
.Net会有默认的约定. HomeController下面的Index,会默认渲染Home/Index.cshtml. 当然可以设置成别的,比如设置成About. using System; usin ...
- thinkphp中 Illegal offset type异常
thinkphp中 Illegal offset type异常 一.错误提示 二.解决思路 1.看出错提示中的函数为assign函数,那说明是我们在从控制器assign数据到页面的部分出现了错误 2. ...
- Ajax缓存原理
一.什么是Ajax缓存原理? Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和 ...
- 从excel 获取内容 模块:xlrd
import xlrd # 获取表的对象 excel = xlrd.open_workbook(‘a.excel’) # 获取所有excel里的所有表 table_list = excel.sheet ...
- golang 数组
数组是Go语言编程中最常用的数据结构之一.顾名思义,数组就是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度. 在Go语言中数组 ...
- windows删除多余启动引导项
方法1: 按快捷键win+r,打开运行界面,输入msconfig. 点击确定,进入系统配置,选择引导选项卡,如图: 选中你不需要的启动项,点击下面的删除按钮即可.删除完成之后点击确定,重启计算机就可以 ...
- UITouch 的使用
直接上代码: touch 的四大状态.: // // TouchView.m // UI_practice_04 // // Created by lanouhn on 15/4/22. // Cop ...
- 深入理解Linux启动过程
深入理解Linux启动过程 本文详细分析了Linux桌面操作系统的启动过程,涉及到BIOS系统.LILO 和GRUB引导装载程序,以及bootsect.setup.vmlinux等映像文件 ...