一个启动模式为singleTop的activity,如果再次启动会发生什么? 面试官想问的是 onNewIntent()

2023-05-16

Activity有一个 onNewIntent(Intent intent)回调方法,该方法我们几乎很少使用,导致已经将其忽略掉。该方法的官方解释如下:

This is called for activities that set launchMode to "singleTop" in their package, or if a client used the Intent.FLAG_ACTIVITY_SINGLE_TOP flag when calling startActivity. In either case, when the activity is re-launched while at the top of the activity stack instead of a new instance of the activity being started, onNewIntent() will be called on the existing instance with the Intent that was used to re-launch it. An activity will always be paused before receiving a new intent, so you can count on onResume being called after this method. Note that getIntent still returns the original Intent. You can use setIntent to update it to this new Intent.

上文大概意思如下:
该方法被启动模式设置为“singleTop”的Activity回调,或者当通过设置Intent.FLAG_ACTIVITY_SINGLE_TOP的Intent启动Activity时被回调。在任何情况下,只要当栈顶的Activity被重新启动时没有重新创建一个新的 Activity实例而是依然使用该Activity对象,那么onNewIntent(Intent)方法就会被回调。


当一个Activity接收到新Intent的时候会处于暂停状态,因此你可以统计到onResume()方法会被再次执行,当然这个执行是在onNewIntent 之后的。


注意:如果我们在Activity中调用了getIntent()方法,那么返回的Intent 对象还是老的Intent(也就是第一次启动该 Activity 时的传入的 Intent 对象),但是如果想让 getIntent()返回最新的 Intent,那么我们可以通过setIntent(Intent)方法设置

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

一个启动模式为singleTop的activity,如果再次启动会发生什么? 面试官想问的是 onNewIntent() 的相关文章

随机推荐

  • Java线程池

    先写一个线程池工具类 xff0c 暴露两个方法 xff0c 一个是执行任务 xff0c 另一个是取消执行任务 执行任务时 xff0c 使用java的线程 池类去管理线程 public class ThreadPoolProxy privat
  • Ubuntu+虚拟机 切换图形界面和命令行界面(亲测可行!!解决Ubuntu中快捷键失效问题!!)

    前几天做操作系统实验需要切换虚拟机的图形界面和命令行界面 在csdn上面找了各种方法 xff0c 比如快捷键Ctrl 43 Alt 43 F1 xff0c Ctrl 43 Alt 43 shift 43 F1等等 xff0c 虚拟机通通没有
  • 安装Kali Linux之后要做的前10件事

    Kali Linux是基于Debian的发行版 xff0c 由全球领先的信息安全培训公司之一 Offensive Security专门开发和维护 xff0c 用于高级渗透测试和安全性 它通常被称为黑客的理想操作系统 xff0c 它是对Bac
  • kafka 多消费者实现

    kafka官网 xff1a http kafka apache org quickstart 目录 kafka简单介绍 xff1a 实现方式 1 xff1a kafka分区 2 实现结果 3 xff1a kafka的consumer代码 4
  • ipa重签名的四种方式

    文章为学习hank的视频笔记 一 开发者调试安装app到手机的签名过程 1 Mac电脑生成公钥M和私钥M 2 公钥M传给苹果服务器 xff0c 苹果服务器的私钥A对公钥M进行加密生成证书返回给xcode 3 Xcode下载profile等描
  • IOS——使用ScrollView和PageController实现引导页分页效果

    如标题所说 xff0c 使用的是ScrollView和PageControlle两个控件共同达到该效果 首先 xff0c 使用storyboard将ScrollView和PageControlle拖入 xff0c 要注意的是 xff0c P
  • 寻找第一个出现次数最少的字符

    同理寻找第一个出现次数最少的字符 xff0c 一次循环的还没想好 span class hljs keyword import span java util HashMap span class hljs keyword import sp
  • 富文本

    ios项目中经常需要显示一些带有特殊样式的文本 xff0c 比如说带有下划线 删除线 斜体 空心字体 背景色 阴影以及图文混排 xff08 一种文字中夹杂图片的显示效果 xff09 通常想要实现这些效果要使用到iOS的Foundation框
  • 【设计模式】linux中利用信号量演示生产者与消费者模型

    1 简介 linux sem 信号量是一种特殊的变量 xff0c 访问具有原子性 xff0c 用于解决进程或线程间共享资源引发的同步问题 用户态进程对 sem 信号量可以有以下两种操作 xff1a 等待信号量 xff1a 当信号量值为 0
  • ftp与sftp上传工具类

    1 ftp上传工具类 package com zhjg utils import java io IOException import java io InputStream import java io OutputStream impo
  • 日本推出可实时监测地震烈度iPhone应用软件

    这个 xff0c 实在 xff01 据日本媒体报道 xff0c 日本近日在iPhone及iPad的平台上推出一款名为 i震度 的防灾害应用软件 该应用软件由专业研发地震检测仪器的白山工业公司开发完成 xff0c 具有随时随地监测地震烈度的功
  • Android 文件管理器 文件缩略图标显示流程

    前言 本篇文章是基于Android 11 文件管理器 xff08 com android documentsui xff09 的源码 xff0c 在实际项目中定位加载图片和视频文件显示缩略图的相关问题时 xff0c 做的总结 xff0c 文
  • Android 显示 指纹/人脸 身份验证对话框

    1 前言 为了增加用户的隐私和安全 xff0c 需保护您的应用中的敏感信息或付费内容 xff0c 一种方法是请求生物识别身份验证 xff0c 例如使用人脸识别或指纹识别 本篇文章介绍了如何在您的应用中支持生物识别登录流程 2 声明应用支持的
  • 截取图片部分

  • Android PackageManagerService总结(五) APK卸载流程

    一 概述 PackageManagerService 简称PKMS xff0c 是Android系统中核心服务之一 xff0c 管理着所有与package相关的工作 xff0c 常见的比如安装 卸载应用 信息查询等工作 主要完成以下核心功能
  • ButterKnife内存泄漏问题

    在butterKnife自动生成的代码 xff08 XXX ViewBinding xff09 中 xff0c 里面有这样一段代码 xff1a view setOnClickListener new DebouncingOnClickLis
  • PPTV面试算法思考-最长对称子字符串

    题目 最近在微信公众号里看看到了一个PPTV的面试算法题 xff0c 感觉难度适中 xff0c 想试下 题目的内容为求一个字符串的最长对称子字符串 如 xff1a 输入 输出 abba 4 abad 3 acccbaa 3 我的算法1 自己
  • C++

    由于见到论坛上不少找书的 xff0c 于是就稍稍汇总总结了一下 xff0c 作为本人即将推出的 C 43 43 资源大汇 系列文章的引子 本文只是初稿 xff0c 其中有不少的纰漏 笔误 打误 xff08 打字错误 xff09 希望各位纠正
  • pyspark MLlib基本使用

    MLib 基本概念 MLib其实就是将数据以RDD的形式进行表示 xff0c 在分布式数据集上调用各种算法 使用方法 MLlib中包含能够在集群上运行良好的并行算法 xff0c 如kmeans 分布式RF 交替最小二乘等 xff0c 这能够
  • 一个启动模式为singleTop的activity,如果再次启动会发生什么? 面试官想问的是 onNewIntent()

    Activity有一个 onNewIntent Intent intent 回调方法 xff0c 该方法我们几乎很少使用 xff0c 导致已经将其忽略掉 该方法的官方解释如下 xff1a This is called for activit