Activity中getIntent为什么获取不到值?

简介: Activity中getIntent为什么获取不到值?

Activity有四种启动模式,一般为默认。


当Activity的启动模式为singleTask的时候,通过Intent传值,getIntent是接收不到值的,为null。


因为不同的启动模式,走的方法也不一样。当页面再次被调用的时候,先走onNewIntent方法再走onRestart。


所以需要重写onNewIntent方法,而且此方法在Activity Finish之后是不执行的。

//finish之后是不执行的
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);//设置新的intent
        String data = getIntent().getStringExtra("data");
        ...
    }

目录
相关文章
|
IDE Java Maven
Idea安装及项目设置配置和基本使用
Idea安装及项目设置配置和基本使用
1172 0
Idea安装及项目设置配置和基本使用
|
存储 移动开发 数据安全/隐私保护
高效反编译luac文件
高效反编译luac文件
|
Android开发 开发者
Android 13 NotificationChannels与Notification的加载流程
Android 13 NotificationChannels与Notification的加载流程
1526 0
Android 13 NotificationChannels与Notification的加载流程
|
前端开发 API
图片或文件Blob、File、Base64之间的相互转换
在做前端项目的时候,遇到图片的上传或者下载时,不可避免的会遇到Blob、File、Base64三种类型的转换。那么今天就总结下,三者之间的相互转换。 首先我们看看base64 ,File 对象,Blob 对象长什么样的,怎么来的。
831 1
|
iOS开发
Xcode报错解决方法:ld: symbol(s) not found for architecture arm64
Xcode报错解决方法:ld: symbol(s) not found for architecture arm64
3842 0
|
API Android开发 容器
33. 【Android教程】悬浮窗:PopupWindow
33. 【Android教程】悬浮窗:PopupWindow
2163 2
|
SQL 数据采集 索引
聚焦Pandas数据合并:掌握merge方法
聚焦Pandas数据合并:掌握merge方法
522 0
|
Unix 编译器 C语言
-ObjC引起的duplicate symbol _OBJC_IVAR
-ObjC引起的duplicate symbol _OBJC_IVAR
307 1
|
存储 缓存 监控
Java 经典面试解析:服务器卡顿、CPU飙升、接口负载剧增
解决这个问题的关键是要找到Java代码的位置。下面分享一下排查思路,以CentOS为例,总结为4步。 第1步,使用top命令找到占用CPU高的进程。 第2步,使用ps –mp命令找到进程下占用CPU高的线程ID。 第3步,使用printf命令将线程ID转换成十六进制数。 第4步,使用jstack命令输出线程运行状态的日志信息。
533 0
|
JSON JavaScript Dubbo
Node.js 实现文件夹遍历:打造高效的文件操作流程
在 Node.js 开发中,经常需要对文件系统进行操作,包括遍历文件夹以获取文件列表。本文将讨论使用 Node.js 遍历文件夹的几种常用方法,并通过一个实际案例来演示如何实现。