Intent 的Flag属性可用来控制Activity在栈中的排列位置,本文列举了常见的Flag.

例--(以无动画方式启动ActivityB):
Intent intent=new Intent(ActivityA.this , ActivityB.class);
intent,setFlag(FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);

FLAG_ACTMTY_BROUGHT_TO_FRONT:

如特通过该Flag启动的Activity已经存在。下次再次启动时。将仅仅是将该Activity带到前行。

比如现存Activity栈中有Activity A,此时以该旗标启动Activity B(即Activity B是以FLAG_ACTMTY_BROUGHT_TO_FRONT旗标启动的)。然后在Activity B中启动C、D。假设此时在Activity D中再启动B。将直接把Activity栈中的Activity
B带到前台。

此时Activity栈中情形是A、C、D、B。

FLAG_ACTIVITY_CLEAR_TOP:

该Flag相当于载入模式中的singleTask,通过这样的Flag启动的Activity将会把要启动的Activity之外的Activity所有弹出Activity栈。比如,Activity栈中包括A、B、C、D这4个Activity,假设採用该Flag从ActivityD跳转到ActivityB,此时Activity栈中仅仅包括A、B两个Activity。

FLAG_ACTMTY_NEW_TASK:

默认的启动旗标,该旗标控制又一次创建一个新的Activity。

FLAG_ACTIVITY_NO_ANIMATION:

该旗标会控制启动Activity时不使用过渡动画。

FLAG_ACTIVITY_NO_HlSTORY:

该旗标控制被启动的Activity将不会保留在Activity栈中。比如Activity栈中原来有A、B、C这三个Activity,此时在Activity C中以该Flag启动Activity D,Activity D再启动Activity E,此时Activity中仅仅有A、B、C、E这4个Activity,Activity D不会保留在Actvity栈中。

FIAG_ACTIVITY_REORDER_TO_FRONT:

该Flag控制假设当前已有该Activtity,直接将该Activity带到前台。比如如今Activity栈中有A、B.C、D这4个Activity。假设使用FIAG_ACTIVITY_REORDER_TO_FRONT旗标来启动Activity B。那么启动后的Activity栈中情形为A、C、D、B。

FLAG_ACTIVITY_SINGLE_TOP:

该Flag相当于载入模式中的singleTop模式,比如原来是A、B、C、D这4个Activity,在Activity D中再次启Activity D依旧还是A、B、C、D这4个Activity。

Intent 的Flag属性(Activity在栈位置的主宰者)的更多相关文章

  1. Android 之Activity启动模式(二)之 Intent的Flag属性

    首页博客链接关于我留言板 前面介绍了通过launchMode设置Activity的启动模式.本章接着介绍Activity的启动模式相关内容,讲解的内容是Intent与启动模式相关的Flag,以及and ...

  2. Intent的属性及Intent-filter配置——Extra属性——Flag属性

    Intent的Extra属性通常用于在多个Action之间进行数据交换,Intent的Extra属性值应该是一个Bundle对象,Bundle对象的就像一个Map对象,它可以存入多组key-value ...

  3. 使用Intent的Flag设置启动參数

    Intent中关于激活Activity的Flag Intent类定义了一批常量,用于配置激活Activity时的相关參数; 在Intent中设置Flag ·调用Intent的setFlags()或ad ...

  4. 06 Activity的启动模式 Intent的七大属性的总结

    1.Task以及back stack     >Task(任务)  为了完成一个功能  多个Activity的集合,     当你的应用程序启动时 系统会自动创建Task用于管理Activity ...

  5. Activity Intent相关FLAG介绍

    先首先简单介绍下Task和Activity的关系   Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity ...

  6. Intent的Data和Type和Flag属性-amdroid学习之旅(五十一)

    Data属性介绍 使用Data和Action属性启动系统Activity 代码示例 public class MainActivity extends Activity{ @Override prot ...

  7. Android群英传》读书笔记 (4) 第八章 Activity和Activity调用栈分析 + 第九章 系统信息与安全机制 + 第十章 性能优化

    第八章 Activity和Activity调用栈分析 1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重 ...

  8. 第四章 Activity和Activity调用栈分析 系统信息与安全机制 性能优化

    1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重新回到前台状态的时候会先调用onRestart方法,然 ...

  9. Android群英传笔记——第八章:Activity与Activity调用栈分析

    Android群英传笔记--第八章:Activity与Activity调用栈分析 开篇,我们陈述一下Activity,Activity是整个应用用户交互的核心组件,了解Activity的工作模式,生命 ...

随机推荐

  1. [ python ] 字符串的操作及作业题

    字符串的操作方法 capitalize() : 首字母大写 s1 = 'my heart will go on' print(s1.capitalize()) # 首字母大写 # 执行结果: # My ...

  2. Jinja2 及 render_template 的深度用法

    是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符 ...

  3. TestDirector自定义管理:工程配置

    一.工程配置 1.进入工程配置界面 2.点击“customize project entities”弹出自定义字段对话框.(这里有六个表,每个表中的字段分为系统字段(system fields)和用户 ...

  4. shell-sed命令详解(转)

    (转自http://blog.csdn.net/wl_fln/article/details/7281986) Sed简介 sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时 ...

  5. disconf-web 分布式配置管理平台

    一.需求 实现分布式配置中心:(1)集中管理外部依赖的服务配置和服务内部配置(2)提供web管理平台进行配置和查询(3)支持服务注册与发现(4)支持客户端拉取配置(5)支持订阅与发布,配置变更主动通知 ...

  6. 八皇后--python代码

    迭代和递归方法的运用 import random def prettyprint(solution): #图形化处理数据 def line(pos,length=len(solution)): #单行 ...

  7. Node.js后台开发初体验

    Node.js是什么 Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质时对Chrome V8引擎进行了封装 Node.js安装 ...

  8. POJ3450 Corporate Identity

    后缀数组. 解决多个字符串的最长公共子串. 采用对长度的二分,将子串按height分组,每次判断是否在每个字符串中都出现过. 复杂度O(NlogN) By:大奕哥 #include<cstrin ...

  9. JZYZOJ1622 [usaco2009]工作安排 贪心

    和p1123智力大冲浪一样,可以用优先队列写...   每一秒可以做一个工作....因为n个任务只要在限制之前完成就行,所以时间不冲突的话肯定越早做完越好..所以最多的时间是n,当然限定的完成时间中最 ...

  10. Luogu P3962 [TJOI2013]数字根 st

    题面 我先对数字根打了个表,然后得到了一个结论:\(a\)的数字根=\((a-1)mod 9+1\) 我在询问大佬后,大佬给出了一个简单的证明: \(\because 10^n\equiv 1(mod ...