Activity设置singleTask无法通过Intent获取值的问题

Activity Intent相关FLAG介绍 C通过intent跳转到D,并且这个intent添加了FLAG_ACTIVITY_NEW_TASK 标记,如果D这个Activity在Manifest.xml中的声明中添加了Task affinity,并且和栈1的affinity不同,系统首先会查找有没有和D的Task affinity相同的task栈存在,如果有存在,将D压入那个栈,如果不存在则会新建一个D的affinity的栈将其压入。原来是A,B,C这个时候再C中以这个FLAG启动D的,D再启动E,这个时候栈中情况为A,B,C,E。 阅读详情

在项目的页面跳转中,Activity启动顺序为:A—>B—->C——>A

其中A启动模式设置为android:launchMode=”singleTask” ,

当C跳转到A时,A将不再执行onCreate方法,而是直接执行onResume;

C通过intent传递参数给A,通过以下方式将无法获取。

[html] view plaincopy在CODE上查看代码片派生到我的代码片

@Override  
protected void onResume() {  
    super.onResume();  
    Bundle bundle = getIntent().getExtras();  
    if (null != bundle) {  
        trande_Amount = bundle.getString("Amount");  
    }  
}  

解决方法:

[html] view plaincopy在CODE上查看代码片派生到我的代码片

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

原文链接:http://blog.youkuaiyun.com/lvxiangan/article/details/43084633

Android笔记:singleTask模式无法收到intent传值问题的解决 如果将activity的launchMode设置为singleTask,会发现收不到intent传递过来的值,这时候就需要使用到onNewIntent方法,在里面接收intent。 launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCrea... 阅读详情

相关推荐

Android的Activity的Launch模式之SingleTask案例

Android的Activity的Launch模式之SingleTask案例,实际案例源码

疑难杂症:Activiti6.0.0 通过TaskService无法取到待办任务

刚刚开始学习使用Activiti6,遇到这个小问题,在网上查了一下。貌似没有遇到的,应该是没有人出现这么弱的问题。所以我也只是记录一下这个问题解决过程,以备万一有小伙伴遇到相同原因造成的问题,可以少走些弯路。 好了,先贴出代码示例,和错误结果 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190313163621229.png?x-oss-process=i...

bock1984的博客 4792

从IMU数据到精准定位:手把手推导ESKF中的四元数运动学与误差状态方程

本文详细介绍了如何从IMU数据推导ESKF中的四元数运动学与误差状态方程,实现精准定位。通过分析误差状态卡尔曼滤波器的优势、四元数表示的必要性,以及IMU测量模型和运动学基础,提供了完整的数学推导和实现要点。适合机器人定位和自动驾驶领域的算法工程师参考,帮助优化导航系统性能。

weixin_30271335的博客 680

关于singleTask模式无法收到intent传值问题的解决

如果将activity的launchMode设置为singleTask,会发现收不到intent传递过来的值,这时候就需要使用到onNewIntent方法,在里面接收intent。 launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onC

hijunmeng的专栏 4015

新手必看:手把手教你如何通过Github提交CVE漏洞(附完整截图流程)

本文为安全研究新手提供了一份详尽的CVE漏洞提交实战指南。文章重点介绍了如何通过Github平台,从漏洞发现、验证、撰写专业报告到最终提交CVE申请的全流程,并附有完整的截图和沟通模板,帮助初学者迈出负责任漏洞披露的第一步。

ttt77的博客 1253

UniApp实现多端支付功能完整实现指南

支付业务流程多端支付实现安全性保障异常处理最佳实践支付基础知识多端支付实现统一支付封装安全性处理异常处理最佳实践根据具体业务场景选择合适的支付方式注重安全性和用户体验做好异常处理和日志记录持续优化和改进支付流程关注我,持续分享前端项目开发经验!

weixin_63454527的博客 2128

singleTask 跳转Activity Bundle和intent参数值为null

由于MainAcitity.class使用的是singleTask启动模式,所以别的Activity跳转到MainActivity.class后所带的参数(Intent & Bundle)均为null

Beluga_白鲸 1441

从SolidWorks到Simulink:手把手教你用URDF文件搭建六轴机械臂仿真模型(含STL文件配置避坑)

本文详细介绍了从SolidWorks到Simulink的六轴机械臂URDF仿真全流程,包括URDF文件导出、Simscape模型生成与调试、动力学参数获取与验证等关键步骤。重点解决了STL文件配置、关节接口设置等工程化难题,帮助开发者高效构建可控制的数字孪生体。通过实战案例和优化技巧,提升机械臂仿真效率与准确性。

weixin_26812607的博客 266

设置Activity的启动模式为singleTask接收不到intent的解决方法+启动模式为standard时,onNewIntent未被调用

-------- 情景重现      MainActivity的启动模式设置为singleTask <activity android:name=".MainActivity" android:launchMode="singleTask">

musk6的博客 1442

手把手教你用GPIO模拟MDIO时序,搞定Linux下那些‘不听话’的PHY芯片

本文详细介绍了如何利用Linux内核的`virtual,mdio-gpio`驱动,通过GPIO模拟MDIO时序来解决特殊PHY芯片的驱动调试问题。从硬件准备、设备树配置到驱动实现,提供了完整的解决方案和实战案例,帮助开发者应对非标准时序的PHY芯片挑战。

weixin_29188043的博客 270

Aruba CX交换机 初始化配置

Aruba CX 交换机 6000系列 8000系列交换机配置

Harry_Guo 1834

Android解决service向activity传值失败的问题

问题:在service使用Intent打开activity并传递值,在onResume中使用getIntent不能及时地获得正确的值,取到的是上一次的值。 一般情况下,我们在使用intent打开activity时候,会执行onCreate、onStart、onResume,如果此时activity处于栈顶,再次打开activity执行onPause、onStop,此时activity再接受int

再简单的事,也要用心做成! 972

深入解析ZYNQ PL触发PS中断:从原理到创新实践

通过本文,您不仅学会了ZYNQ PL-PS中断的基础实现,更掌握了动态优先级调整中断负载均衡等创新技术。响应延迟降低40%以上系统吞吐量提升2-3倍功耗降低30%支持更复杂的实时应用硬件是身体的骨骼,软件是流动的血液,而中断则是连接二者的神经系统。只有精确控制每一条神经冲动,才能构建真正智能的嵌入式系统。拓展思考如何将AI决策引入中断调度?能否实现跨芯片中断同步?量子计算对中断架构的挑战?

QQ_778132974的博客 417

singleTask 模式onNewIntent调用的时机以及Intent值的变化

现在 是三个activity ,MainActivity启动 BActivity(singleTask) ,BActivity启动 CActivity,CActivity还会载回到BActivity。 在这三个除了BActivity是singleTask外,其余都是standard, A-----B-------C---------B A------B 传递 Intent intent ...

皮卡丘的博客 2467

工业级C#+YOLOv8缺陷检测系统:准确率98.5%、延迟<50ms的完整实现

本文分享了基于C#和YOLOv8的工业级表面缺陷检测系统实现方案。针对汽车零部件冲压件检测需求(60件/分钟,准确率>98%,延迟<100ms),作者对比了多种技术方案后选择了C#+YOLOv8+ONNX Runtime的组合,最终实现98.5%准确率和42ms延迟。 系统采用分层模块化架构,包含硬件层、采集层、推理层、业务层和控制层。核心优势包括:1)C#在工业环境下的稳定性和集成便利性;2)YOLOv8对复杂缺陷的泛化能力;3)ONNX Runtime GPU加速提升性能。文章详细介绍了硬件

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1141

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Activity以singleTask模式启动,intent传值的解决办法

转载请注明出处,谢谢http://blog.youkuaiyun.com/harryweasley/article/details/46557827 因为项目中,有一个消息推送的功能,每次推送一个消息,就会开启FunctionActivity,那么为了避免重复开启它,在退后的时候,多次出现该Activity,就将该Activity的启动模式变为singleTask。 这样在之后的多次启动该Activity,便会

HAndroidevelopcker的博客 838

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Activity启动模式SingleTask对应的Intent.FLAG

我们知道,在AndroiManifest.xml中设置AActivity的launchmode为SingleTask后,若Activity启动过程为: A->B->C->A 当我们再次处于A Activity时: B和C会执行onDestroy() A会执行onNewIntent()、onStart()、onResume() 即B、C销毁了,而A没有重新创建,而是复用了之前一开始的实例。 但有时候我们希望能够灵活一点,有时候A的启动模式是SingleTask,有时候不是。 这时候我们就可以

cxy_SongT的博客 1207

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

(转)Activity以singleTask模式启动,intent传值的解决办法

在默认情况下,当通过Intent启动一个activity的时候,就算已经存在一个相同的正在运行的activity,系统都会创建一个新的activity实例并显示出来,新的activity会正常的执行 onCreate( )->onStart( )->onResume( )。 为了不让activity实例化多次,我们一般都会使用单例模式(singleTask),即:在AndroidMa...

sharpeha的博客 716

android 设置activity启动模式为singleTask时,intent的传值问题

小tips: 当安卓设置activity的启动模式为singleTask时,如果再次启动这个activity,它的intent是不会变得,还是之前你启动是的intent,这时我们就需要这么写 然后你再用getIntent()就会发现intent改变了。

toast_tips的博客 1635

Activity启动模式:launchMode 和 Intent中设置标志setFlags

Activity指定启动模式有两种: 通过清单文件AndroidManifest设置launchMode属性 通过在Intent中设置标志 现在先说第一种:有四种启动模式 standard:标准模式 系统默认的启动模式。 每启动一个activity都会重新创建一个实例,不管这个实例存不存在; 一个任务栈中可以有多个相同实例; 谁启动这个activity,它就会入启动它的activ...

shanshan_1117的博客 7905

Activity启动模式设置为singleTask和singleInstance的问题

1、singleTask问题 假设我们App的启动界面为A,则在清单文件中应该是这样的: <activity android:name=".A" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN...

Android菜鸟的专栏 3586
上一篇: Activity的四种加载(启动)模式暨onNewIntent函数的调用时机
下一篇: onNewIntent调用时机
MQMaoQiang
博客等级 码龄18年 25粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值