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. Linux下不能挂载NTFS格式硬盘/U盘

    如果大家以后在Ubuntu系统下面遇到NTFS格式的移动硬盘哪个分区不能挂载的话,可以尝试sudo ntfsfix /dev/你相应的分区

  2. insta php-fpm 的配置

    [global]pid = /www/wdlinux/phps/70/var/run/php-fpm.piderror_log = /www/wdlinux/phps/70/var/log/php-f ...

  3. 数据库连接池(c3p0与druid)

    1.数据库连接池概念 其实就是一个容器(集合),存放数据库连接的容器.当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归 ...

  4. spring mvc整合mybaitis和log4j

    在上一篇博客中,我介绍了在mac os上用idea搭建spring mvc的maven工程,但是一个完整的项目肯定需要数据库和日志管理,下面我就介绍下spring mvc整合mybatis和log4j ...

  5. C语言俄罗斯方块

    #include <windows.h> #include <stdio.h> #include <time.h> #include <conio.h> ...

  6. postgresql 数据导入导出

    [转] 分类: postgresql2013-06-09 10:21 2486人阅读 评论(0) 收藏 举报 一.导出数据库及具体表 1.导出数据库:方式一:pg_dump  -U  postgres ...

  7. 二安装Python

    因为Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 要开始学习Python编程,首先 ...

  8. Java面向对象封装和继承

    面向对象 什么是面向过程.面向对象? 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.例如:公司打扫卫生( ...

  9. zookpeer应用和zkclient实践

    分布式 zkclient 排它锁 在需要获取排它锁时,通过调用create()接口,创建临时子节点.zk会保证在所有客户端中,只有一个会创建成功,从而获取锁. 其他客户端注册该节点的变更watch监听 ...

  10. 磁盘镜像分析工具Autopsy

    磁盘镜像分析工具Autopsy   Autopsy是Kali Linux预安装的一款磁盘镜像分析工具.该工具可以对磁盘镜像的卷和文件系统进行分析,支持Unix和Windows系统.Autopsy是一个 ...