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设置启动參数的更多相关文章

  1. 【翻译自mos文章】使用dbua升级时,须要手工设置CLUSTER_DATABASE參数么?

    使用dbua升级时,须要手工设置CLUSTER_DATABASE參数么? 来源于: Is Manual Setting Of CLUSTER_DATABASE Parameter Required F ...

  2. Tokyo Tyrant(TTServer)系列(二)-启动參数和配置

    启动參数介绍         ttserver命令能够启动一个数据库实例.由于数据库已经实现了Tokyo Cabinet的抽象API,所以能够在启动的时候指定数据库的配置类型. 支持的数据库类型有: ...

  3. mysql启动參数(/etc/my.cnf)具体解释汇总

    在linux以下的/etc/my.cnf的參数具体解释汇总 MYSQL–my.cnf配置中文具体解释 basedir = path   使用给定文件夹作为根文件夹(安装文件夹). character- ...

  4. Spark 性能相关參数配置具体解释-任务调度篇

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 随着Spark的逐渐成熟完好, ...

  5. Spring 构造注入 传參数

    1.        提供相应的构造方法 //构造器注入 public class Bean6 { private String name; private Integer age; // 服务于构造器 ...

  6. JVM垃圾收集相关经常使用參数

    參 数 描 述 UseSerialGC 虚拟机执行在Client 模式下的默认值,打开此开关后,使用Serial + Serial Old 的收集器组合进行内存回收 UseParNewGC 打开此开关 ...

  7. cmake函数參数解析

    近期在迁移公司的make系统到cmake上.发现cmake的function參数非常奇怪.比如,假设我们向一个function传递list作为參数,在function中,形參会变成例如以下状况: se ...

  8. matplotlib画图实例:pyplot、pylab模块及作图參数

    http://blog.csdn.net/pipisorry/article/details/40005163 Matplotlib.pyplot画图实例 {使用pyplot模块} matplotli ...

  9. jQuery.ajax()方法中參数具体解析

    前言 在项目开发中,为了实现异步向服务端发起请求,最常常使用的就是jQuery.ajax方法了.刚開始需求比較简单,调用jQuery.ajax方法时要传的參数也就那几个常见的參数:url/data/d ...

随机推荐

  1. tensorflow学习之路---解决过拟合

    ''' 思路:1.调用数据集 2.定义用来实现神经元功能的函数(包括解决过拟合) 3.定义输入和输出的数据4.定义隐藏层(函数)和输出层(函数) 5.分析误差和优化数据(改变权重)6.执行神经网络 ' ...

  2. Copying GC (Part two :Multi Space Copying GC)

    目录 近似深度优先搜索方法 Cheney的GC复制算法 前提 执行结果 多空间复制算法 multi_space_copying()函数 mark_or_copy() copy() 执行过程 优缺点 近 ...

  3. fgrep---指定的输入文件中的匹配模式的行

    fgrep命令是用来搜索 file 参数指定的输入文件(缺省为标准输入)中的匹配模式的行.fgrep 命令特别搜索 Pattern 参数,它们是固定的字符串.如果在 File 参数中指定一个以上的文件 ...

  4. 使用Xcode的Targets来管理开发和生产版本的构建

    如何创建一个新的Target 如何在Xcode中创建一个开发的target?我使用示例项目“todo”引导您一步一步完成整个过程..您也可以使用自己的项目并按照步骤: 1. 在项目的导航面板进入项目设 ...

  5. 【Henu ACM Round#14 E】Kefa and Watch

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 在做之前需要了解一个知识点. 就是如果一个字符串s是一个a循环串. (字符串的长度设为n,下标从1开始 那么s[1..n-a]和s[ ...

  6. C++的new_handler

    这个new_handler其实对应于signal_handler 当operator new申请一个内存失败时,它会进行如下的处理步骤:1.如果存在客户指定的处理函数,则调用处理函数(new_hand ...

  7. android SIM Switch功能和配置

    SIM Switch feature是Smart 3G switch feature在LTE版本号上发展演变而来的功能: MTK双卡双待单通版本号仅仅有一个3/4 G Protocol.所以同一时刻仅 ...

  8. vim-normal多行操作命令的使用

    命令行命令-<:normal>这个命令可以重复上一个操作.他其实就跟.命令的效果查不到.不同的是,他可以把.的效果,作用于你用可视模式下的多行.例如,如果你想在下面的文字里在每一行加一个; ...

  9. ajax 使用 与 缓存问题

    1:GET访问 浏览器 认为 是等幂的 就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配] 所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结 ...

  10. 69.类型后缀,重载操作符""

    #include <iostream> using namespace std; class myclass { public: int num; int num2; public: my ...