博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Intent Flag的介绍
阅读量:6802 次
发布时间:2019-06-26

本文共 888 字,大约阅读时间需要 2 分钟。

  hot3.png

一、Activity和Task(栈)的关系
  Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在最低端。从Task中取出东西(Activity)则是从最顶端取出,也就是说最先取出的是最后添加的东西(Activity),一次类推,最后取出的是第一次添加的Activity,而Activity在Task中的顺序是可以控制的,那则在Activity跳转时用到Intent Flag
  二、界面跳转和服务的启动都会用到Intent,现在介绍Intent Flag是关于Activity的跳转
  Intent intent = new Intent(this,xxx.class);
  //如果activity在task存在,拿到最顶端,不会启动新的Activity
  intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
  //如果activity在task存在,将Activity之上的所有Activity结束掉
  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  //默认的跳转类型,将Activity放到一个新的Task中
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  //如果Activity已经运行到了Task,再次跳转不会在运行这个Activity
  intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

  Intent Flag有20多种,我用过的就只有4中,后期用到了,知道什么作用,再向大家告知

Activity的LaunchMode是控制Activity启动的方式,而Intent的flag是控制已经存在的activity在Task中的顺序。

转载于:https://my.oschina.net/logs/blog/77790

你可能感兴趣的文章
线程安全的无锁RingBuffer
查看>>
移动安全-iOS(二)
查看>>
有趣的Linux命令
查看>>
04 | 深入浅出索引(上)
查看>>
破解 Kotlin 协程(7) - 序列生成器篇
查看>>
React 生命周期
查看>>
App 瘦身 项目实践
查看>>
基于vue2.0+ 抽奖项目
查看>>
线程和进程基础以及多线程的基本使用(iOS)
查看>>
typeof vs instanceof
查看>>
Array.from方法具体理解(3分钟)
查看>>
CS229课程01-机器学习的动机与应用
查看>>
iOS开发常用框架总览!
查看>>
Javascript实现冒泡排序与快速排序以及对快速排序的性能优化
查看>>
深入React v16新特性(一)
查看>>
笔记(2) 从webpack到vue-cli3.0
查看>>
记一次阿里巴巴一面的经历
查看>>
用前端 最舒服的躺姿 "搞定" Flutter (组件篇)
查看>>
Android开发无线调试工具adbwireless的使用简介(附AirADB)
查看>>
ContentProvider 详解
查看>>