Activity的onNewIntent()步骤何时会被调用及activity四种启动模式

2023-05-16

Activity的onNewIntent()方法何时会被调用


OnNewIntent被调用的前提是:ActivityA已经启动过,处于当前应用的Activity堆栈中;

当ActivityA的LaunchMode为SingleTop时,如果ActivityA在栈顶,且现在要再启动ActivityA,这时会调用onNewIntent()方法

当ActivityA的LaunchMode为SingleInstance,SingleTask时,如果已经ActivityA已经在堆栈中,那么此时会调用onNewIntent()方法

当ActivityA的LaunchMode为Standard时,由于每次启动ActivityA都是启动新的实例,和原来启动的没关系,所以不会调用原来ActivityA的onNewIntent方法
Activity的四中启动模式(LaunchMode)

1、standard  这是默认的模式。

这种模式下,当Intent发送的时候,Activity总是被创建一个新的出来单独工作。想象一下,如果有发送10个撰写邮件的Intent,那么将有10个不同的Activity启动。

2、singleTop  singleTop模式。

它的表现几乎和standard模式一模一样,一个singleTop Activity 的实例可以无限多,唯一的区别是如果在栈顶已经有一个相同类型的Activity实例,Intent不会再创建一个Activity,而是通过onNewIntent()被发送到现有的Activity。

3、singleTask

这种模式和standard以及singleTop有很大不同。singleTask模式的Activity只允许在系统中有一个实例。如果系统中已经有了一个实例,持有这个实例的任务将移动到顶部,同时intent将被通过onNewIntent()发送。如果没有,则会创建一个新的Activity并置放在合适的任务中。

4、singleInstance

这个模式非常接近于singleTask,系统中只允许一个Activity的实例存在。区别在于持有这个Activity的任务中只能有一个Activity:即这个单例本身。If another Activity is called from this kind of Activity, a new Task would be automatically created to place that new Activity. Likewise, if singleInstance Activity is called, new Task would be created to place the Activity.


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Activity的onNewIntent()步骤何时会被调用及activity四种启动模式 的相关文章

随机推荐

  • 超市购物小票案例

    超市购物小票案例 1 1超市购物小票需求分析 模拟真实购物逻辑 xff0c 以上述图片为需求原型 xff0c 根据不同购买物品 xff0c 完成购物小票内容打印到控制台 简化项目逻辑 xff0c 票脚部分只完成数据统计 数据 xff1a 将
  • 【4】三剑客:sed

    文章目录 一 基础1 1 语法格式1 2 工作原理 二 功能2 1 增2 2 删2 3 改2 4 查2 5 通用2 6 高级用法 一 基础 1 1 语法格式 span class token function sed span span c
  • libgtk2.0-dev安装

    安装libgtk 2 0 dev报错 xff1a sudo apt get install libgtk2 0 dev 正在读取软件包列表 完成 正在分析软件包的依赖关系树 正在读取状态信息 完成 有一些软件包无法被安装 如果您用的是 un
  • 第3章 vmware虚拟机的三种网络设置

    在vmware虚拟机的设置中 xff0c 共有四种网络模式可以选择 xff1a 桥接模式 NAT模式 仅主机模式和自定义模式 本文重点讲解前三种网络模式的设置 下图是我的宿主机的IP信息 xff0c 在某些场景下需要将虚拟机中的centos
  • 无法安装64位版本的office,因为在您的PC上找到以下32位程序

    无法安装64位版本的office 因为在您的PC上找到以下32位程序 请卸载所有32位office程序 xff0c 然后重试安装64位office 如果想要安装32位office xff0c 请运行32位安装程序 那为什么会出现这种情况呢
  • idea调试rt.jar下sun.misc.*的源码

    1 进入设置页面 xff1a Settings gt Debugger gt Stepping 2 在 34 Do not step into these classes 34 列表中 xff0c 去掉 34 sun 34 前面的勾就可以了
  • iOS UILabel的lineBreakMode省略模式设置

    iOS UILabel的lineBreakMode省略模式设置
  • 将网页分享到微信JS

    1 导入微信的js lt script type 61 34 text javascript 34 src 61 34 http res wx qq com open js jweixin 1 0 0 js 34 gt lt script
  • 利用XML文件的一个写日志的类!!!!!

    对于程序执行期间的错误跟踪 xff01 相信大家都有自己的一套办法 xff01 xff01 xff01 但都是利用文件文件 xff0c 我这次利用的是XML amp XSL xff0c 可产生报表格式的日志 轻松生成报表 xff01 xff
  • 解决golang获取时间默认使用UTC

    在Go语言上 xff0c go语言的time Now 返回的是当地时区时间 xff0c 直接用 xff1a time Now Format 2006 01 02 15 04 05 输出的是当地时区时间 但是部署之后 xff0c 有的服务器会
  • Android 系统 Settings 启动流程详解

    Settings简介 Settings 是 Android 系统自带的一个很重要的应用 xff0c 给用户提供了操作 Android 系统功能的界面 它里面包含了 Wireless amp network xff0c device xff0
  • Lucene学习总结之一:全文检索的基本原理

    一 总论 根据http lucene apache org java docs index html 定义 xff1a Lucene 是一个高效的 xff0c 基于Java 的全文检索库 所以在了解Lucene之前要费一番工夫了解一下全文检
  • Java发送http请求,参数形式为json

    Java发送http请求 xff0c 参数形式为json 不介绍知识 xff0c 哪不懂自己搜 只记录平时用到的 xff0c 可以给其他人做参考 需要传递的参数为json形式 xff0c 比如手机号 phone xff1a 123456 s
  • maven idea设置查找依赖优先从指定的本地仓库获取

    maven idea设置查找依赖优先从指定的本地仓库获取 选择Setting gt Build Execution Deployment gt Build Tools gt Maven gt Runner xff0c 设置Maven启动虚拟
  • eslint规则总结

    span class token string 34 off 34 span or span class token number 0 span span class token operator span 关闭规则 span class
  • 第4章 系统“后悔药”--vmware的快照功能

    通过前面几章的学习 xff0c 相信大家对centos有了一定的认识了吧 xff1f 我们的centos8 5是安装在vmware虚拟机上的 xff0c vmware虚拟机有一个非常实用的功能那就是快照功能 快照是个什么东西呢 xff1f
  • JDK 的 ORACLE 官网下载步骤

    下面以下载 jdk 8u181 linux x64 tar gz 为例 xff0c 说明下在 ORACLE官网下载的具体步骤 1 进入oracle官网 gt Resource gt Software Downloads xff0c 如下截图
  • 漫谈程序员系列:程序员的生活就这样吗

    我当了快十年程序员了 xff0c 终于老得可以来谈谈程序员的生活是什么样子了 或许陈奕迅的 十年 中的一段歌词 xff0c 可以表示很多程序员和软件开发之间的感情纠葛 xff1a 十年之前 我不认识你 你不属于我 我们还是一样 陪在一个陌生
  • 程序员转行为什么这么难

    尽管我在 大龄程序员的未来在何方 这篇文章里比较乐观地介绍了程序员保持竞争力的几个方向 xff0c 但现实依然是残酷的 xff1a 很多人将不得不离开软件开发工作 xff0c 转型去从事其他职业 当你要这么做时 xff0c 就会感慨 xff
  • Activity的onNewIntent()步骤何时会被调用及activity四种启动模式

    Activity的onNewIntent 方法何时会被调用 OnNewIntent被调用的前提是 ActivityA已经启动过 处于当前应用的Activity堆栈中 当ActivityA的LaunchMode为SingleTop时 xff0