每天进步一点点之Android基础(3)—— Activity的onNewIntent

2023-05-16

onNewIntent() 的触发时间:

  • 如图所示,onCreate() 和 onNewIntent() 不会被同时调用。

如果在 AndroidManifest.xml 中,将 Activity 的 launchMode 设置成了 "singleTop" 模式,或者在调用 startActivity(Intent) 时,设置了FLAG_ACTIVITY_SINGLE_TOP 标识,那么,当该 Activity 再次被启动时,如果它依然存在于 Activity 栈中,并且刚好处于栈的最顶层时,那么它将不会被重新创建,而是直接使用原来的实例,此时,onNewIntent(Intent) 将会被调用,后续生命周期中的其它方法,就可以使用 onNewIntent(Intent) 传递过来的新的 Intent 参数了。(也就是说,其它方法可以使用更新后的 Intent 参数)

也就是说,调用顺序如下:
onNewIntent() -> onRestart() -> onStart() -> onResume()

需要特别注意的是, 如果在 onNewIntent(Intent) 中,不调用 setIntent(Intent) 方法对 Intent 进行更新的话,那么之后在调用 getIntent() 方法时得到的依然是最初的值。

protected void onNewIntent(Intent intent) {
 
    super.onNewIntent(intent);
 
    setIntent(intent);//must store the new intent unless getIntent() will return the old one
 
    processExtraData();
 
}

在启动 Activtiy 时,如果希望在 onCreate() 不被触发的的情况下,依然可以对 Intent 进行操作,这就需要使用 onNewIntent()。
不要忘记,系统可能会随时杀掉后台运行的Activity,如果这一切发生,那么系统就会调用onCreate方法,而不调用onNewIntent方法,一个好的解决方法就是在onCreate和onNewIntent方法中调用同一个处理数据的方法.

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

每天进步一点点之Android基础(3)—— Activity的onNewIntent 的相关文章

  • 居中复选框视图

    如果除了 或代替 复选框之外 您还对单选按钮感兴趣 请参阅this https stackoverflow com questions 16701806 centering views 2而是提问 尽管存在
  • NumberPicker 的格式化值在单击时消失

    我的 NumberPicker 在setDescendantFocusability FOCUS BLOCK DESCENDANTS 模式和setWrapSelectorWheel false 已关闭 我用一个简单的格式化程序格式化了我的
  • Mesibo 通话 UI 未更新

    我正在尝试更改 Mesibo Call UI 的配置 但它并没有改变 我尝试如下 MesiboCallConfig mesiboCallConfig new MesiboCallConfig mesiboCallConfig backgro
  • Android中如何将文件写入raw文件夹?

    我认为这是一个非常基本的问题 我目前正在编写这样的文件 File output new File exampleout mid 现在 我想将文件写入 myproject res raw 我读到我可以通过将完整的网址放在 中来做到这一点 但
  • Android-全屏视频视图

    我正在尝试使此 VideoView 以全屏模式显示 public class ViewVideo extends Activity private String filename private static final int INSER
  • Android/Java 创建辅助类来创建图表

    Goal 创建用于图形生成的辅助类 背景 我有 3 个片段 每个片段收集一些传感器数据 加速度计 陀螺仪 旋转 并使用 GraphView 绘制图表 以下是其中一个片段的代码 该代码当前工作正常 public class Gyroscope
  • 无法从 com.android.aaptcompiler.ParsedResource@ef79973 提取资源

    无法从 com android aaptcompiler ParsedResource ef79973 提取资源 无法从 com android aaptcompiler ParsedResource 4c95ce87 提取资源 C Use
  • AOSP 中 android.Build.SERIAL 何时何地生成?

    我知道android Build SERIAL是在第一次设备启动时生成的 但我无法准确定位位置和时间 我正在建造AOSP Jelly Bean Android平板电脑 nosdcard 第二个问题 这个是序列号吗 really对所有人来说都
  • opencv人脸检测示例

    当我在设备上运行应用程序时 应用程序崩溃并显示以下按摩 java lang UnsatisfiedLinkError 无法加载 detector based tracker findLibrary 返回 null 我正在使用 OpenCV
  • Kotlin 和惯用的书写方式,基于可变值“如果不为空,则...”

    假设我们有这样的代码 class QuickExample fun function argument SomeOtherClass if argument mutableProperty null doSomething argument
  • 取消通知

    我使用Onesignal推送通知 需要取消所有onPause和onResume的通知 NotificationManager notificationManager NotificationManager getApplicationCon
  • 如何在虚拟机 VirtualBox 上运行 Android-x86 4.2 iso?

    我想用Android x86测试和调试我的应用程序 我之前成功尝试过其他版本的Android x86 但是关于android x86 4 2有一个错误 所以我在这里问我的问题 因为它可能会发生在其他人身上 我安装了oracle VM vir
  • Proguard - 找不到任何超级类

    我收到此错误 Unexpected error while performing partial evaluation Class org apache log4j chainsaw Main Method
  • popupBackground 与 Material Design 相关的问题

    我一直致力于将我的应用程序更新为 Material Design 我有一个使用选项卡的应用程序 由于某种原因 每当我使用 android popupBackground 设置下拉菜单颜色时 它就会崩溃 我设置了一个带有选项卡的默认项目并使用
  • 活动组代码示例

    有人可以给我一些使用活动组的示例代码吗 我的应用程序中有一些按钮 我想将活动应用于这些按钮 目前我正在使用 setVisibility 但我被告知活动组将是更好的选择 这是另一个ActivityGroup 示例项目 http richipa
  • 与 Dagger 一起使用时,Espresso 生成 FileNotFoundException

    我一直在研究旧版 Android 应用程序 尝试为其添加测试和适当的架构 该应用程序有一个主要LaunchActivity它在启动时运行一系列检查 最初 该活动使用 Dagger 来 注入依赖项 活动将使用它来运行检查 但效果相当糟糕 我转
  • 为什么 ExpandableListView 更改 ChildView 设置(Android)?

    我对使用 ExpandableListView 有疑问 就我而言 我有两个组视图和两个子视图 而子视图由一个带有多个按钮 文本视图等的相对布局组成 例如 当首先扩展第二组并对视图持有者进行一些更改并随后扩展第一组时 先前所做的更改也会自动应
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 画布:尝试使用回收的位图错误

    我是一个相当新的程序员 所以任何建议将不胜感激 我有一个类 每次调用它时都会在循环中运行 AsyncTask AsyncTask 看起来像这样 public class LoadImageTask extends AsyncTask
  • 进程被杀死后不会调用 onActivityResult

    我有一个主要活动 Main 和另一个活动 Sub 由 Main 调用 startActivityForResult new Intent this SubActivity class 25 当我在 Sub 时 我终止该进程 使用任务管理器或

随机推荐

  • linux安装opencv

    安装 1 准备工作 1 1C C 43 43 编译环境配置 Linux系统下使用C 43 43 开发OPenCV项目 xff0c 先要搭建C C 43 43 开发环境 在终端输入 xff1a sudo apt install gcc sud
  • 模型的并行推理

    ONNX模型可以通过使用深度学习框架的多卡并行化功能来实现GPU多卡推理 以PyTorch为例 xff0c 可以使用DataParallel或DistributedDataParallel来进行多卡并行化 DataParallel可以在单个
  • python队列

    q get 在队列为空时会阻塞 q put 在队列满时会阻塞 get nowait 在队列为空的时候也不阻塞 xff0c 这时候会抛异常queue Empty put nowait 1 在队列满的时候也不阻塞 xff0c 这时候会抛异常qu
  • python queue【队列的阻塞】

    队列的阻塞分为 xff1a 入队 put 时的阻塞 出队 get 时的阻塞 整体 join 的阻塞 消费的阻塞 出队阻塞 注 xff1a 设置 timeout 超时时间 xff0c 并捕捉 queue Empty 异常 xff1b 设置to
  • 微策略春招面试总结

    春季招聘时我报的研发岗 xff0c 由于我不是杭州本地人 xff0c 故首先接到的是电话面试 xff0c 电话面试大概一周左右被通知去杭州总部面试 下面主要简述一下面试的内容 第一面是技术面 xff0c 大概持续近一个小时 首先面试官会照着
  • Java JSONArray for循环 remove成员的一个好算法(转载)

    来源 xff1a https www cnblogs com xiaoliao p 10415214 html parameterArray 61 34 boundingBox 34 34 29 28 401 29 399 85 27 84
  • ExecutorService 关闭 and 如何判断线程池中任务执行完毕

    ExecutorService 关闭 1 shutdown 2 shutdownNow 3 awaitTermination 当你使用 ExecutorService的时候 xff0c 你应该记得关闭它 xff0c 这样这些被管理的线程才会
  • Ubuntu下启动图形界面startx报错connection to X server lost

    服务器被重启之后startx无法进入图形界面 xff0c 训练数据也全丢了 按以前应对这个问题的步骤重新走了一遍还是不行 就是各种网上找的杂七杂八的办法 xff0c 于是想起之前用x2go client登录图形界面ok的 xff0c 然后去
  • C语言环形队列缓冲-FIFO_RingBuffer

    ring buffer h span class token macro property span class token directive hash span span class token directive keyword if
  • [推荐]轻量好用学习python的工具--​-Thonny​

    青少儿编程教育的三大语言 xff0c 图形化编程 Python编程和C 43 43 语言编程 图形化语言 xff08 Scratch xff09 和C 43 43 语言 xff08 Dev C 43 43 xff09 的编程工具相对比较固定
  • Ubuntu 18.04无法打开屏幕共享,sharing按钮无法打开

    Ubuntu 18 04无法打开屏幕共享 xff0c sharing按钮无法打开 问题 xff1a 刚装了Ubuntu 18 04 xff0c 因新版的Ubuntu自带了屏幕共享的功能 xff0c 故尝试打开setting gt shari
  • 基于Web的高校社团管理系统的设计与实现

    该文章记录的是我的毕业设计 该项目运用PHP动态网站开发技术 xff0c 使用ThinkPHP5开源框架 xff0c HTML5 CSS JavaScript等脚本语言 xff0c Web服务器使用Apache xff0c 数据库采用MyS
  • qt在窗口中同步打印日志信息,根据日志级别设置日志颜色

    场景 一般我们会在程序运行的过程中配置对应的日志信息 xff0c 帮助我们了解当前程序执行的进度 当使用qt增加了操作界面时 xff0c 同样需要将日志信息在界面中显示出来 思路 使用qt的QtWidgets QTextEdit 控件作为日
  • pygame 学习笔记(4)推荐一本python入门游戏书籍《PYTHON游戏编程入门》

    简介 PYTHON游戏编程入门 xff08 More Python Programming for the Absolute Beginner xff09 是 S Harbour写的一本入门书籍 xff0c 基于pygame库 本书每一个章
  • MySQL相关知识点(原理、面试、工作)

    MySQL相关常识 返回导航页感谢您的宝贵时间 xff0c 来阅读本文知识点1 xff1a where 和having 原理功能快捷键启动 关闭MySQL服务如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一
  • 错排问题(排列组合习题)

    标题 xff1a 错排问题 题目描叙 xff1a 某人写了n封信和n个信封 如果所有的信都装错了信封 求所有的信都装错信封共有多少种不同情况 Input 输入n xff08 n lt 61 20 xff09 Output 输出情况总数 Sa
  • C++ 求素数的三种方法

    include lt iostream gt include lt cmath gt using namespace std 方法一 暴力搜索 void test01 for int i 61 2 i lt 101 i 43 43 for
  • 30个免费的CSS3动画片段代码

    对于网页设计师来说 xff0c 前端代码CSS HTML不是强项 xff0c 但有时候也是需要写的 特别是现在流行CSS3动画 xff0c 学习和了解一些相关知识是必须的 CSS3动画其实不算复杂 xff0c 比JS简单得多 xff0c 今
  • 麒麟系统开机自启动服务、执行脚本、命令

    rc local是一个较旧Linux启动加载脚本 目前主流系统主要用systemctl控制开机启动 xff0c 目前仍然可用 1 普通命令可以直接写在rc local里 xff0c xff08 rc local须有执行权限 xff0c 没有
  • 每天进步一点点之Android基础(3)—— Activity的onNewIntent

    onNewIntent 的触发时间 xff1a 如图所示 xff0c onCreate 和 onNewIntent 不会被同时调用 如果在 AndroidManifest xml 中 xff0c 将 Activity 的 launchMod