关于Intent内容传递action, category, data(Uri), type

Android开发中Intent的四种数据传递方式 4种最常用的Intent传递方式,这4种方式如下: 1、通过Intent传递数据 2、通过静态变量传递数据 3、通过剪切板传递数据 4、通过全局变量传递数据 立即下载

新人,对intent的使用也只是用在比较浅层,一直将其定义为组件之间数据传递的桥梁。

但是:

昨天在编写一个widget DEMO的过程中,连续通过

getPendingIntent
调用已经封装好的pendingIntent

remoteViews.setOnClickPendingIntent(R.id.btn0, getPendingIntent(context, 0))
remoteViews.setOnClickPendingIntent(R.id.btn1, getPendingIntent(context, 1));
remoteViews.setOnClickPendingIntent(R.id.btn2, getPendingIntent(context, 2));
remoteViews.setOnClickPendingIntent(R.id.btn3, getPendingIntent(context, 3));
PendingIntent封装intent,

	private PendingIntent getPendingIntent(Context context, int buttonId) {
		Intent intent = new Intent("com.jes.action.STATE_CHANGE");
		intent.setClass(context, TestWidgetProvider.class);
		intent.putExtra("BUTTON_ID", buttonId);
		Log.i("pendingIntent","buttonId : "+ buttonId);
		// intent.setData(Uri.parse("custom:" + buttonId));
		pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_NO_CREATE);
		return pendingIntent;
	}

广播接收器如下:

 if (action.equals("com.jes.action.STATE_CHANGE")) {
	Log.i("onReceive", "action:" + action);
	int buttonId = intent.getIntExtra("BUTTON_ID", -1);
	Log.i("receiver", "button :" + buttonId);
}

结果发现接受到的buttonId值却始终为0,即第一个getPendingIntent的参数内容


后来发现,似乎是因为PendingIntent.getBroadcast() 所得到的pendingIntent对象在生成的时候,因为只是传递数据内容存在差异,所以得到的也就只有一个对象,想要区分不同 pendingIntent,需要在前提Intent中添加能够区分的相关数据,具体如下几个:

主要比较了Intent的action, category, data(Uri), type,


具体解释可以Google下ANDROID INTENT,已经有了很多对INTENT的使用机制等




低功耗和UPF介绍 参考[UPF]低功耗(Low Power Design)and UPF介紹 阅读详情

相关推荐

计算文本相似度的常用算法

NLP、数据挖掘领域中,文本分析是一个很重要的领域,这有助于我们去让计算机理解语言的作用和使用。文本分析是数据挖掘的重要手段,利用文本分析,我们将很快的读取到一本书、一篇文章、一段话中的关键词和核心思想,而文本相似度就是我们用来剔除无用信息或者重复信息的重要手段,让计算机去找文本中的不同。 在生活中,信息检索、数据挖掘、机器翻译、文档复制检测等领域都应用到“文本相似度”。文本不仅仅是文字,文本相似度的应用更广,除了文字的匹配,还可以是图片、音频等,因为它们的实质都是在计算机中都是以二进制的方式存在的。相.

氧小氢的博客 2万+

android intent data uri,关于Intent.getData()的uri的神奇问题

该楼层疑似违规已被系统折叠隐藏此楼查看此楼Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("audio/*");startActivityForResult(intent,1);protected void onActivityResult(int requestCode, int resultCode, ...

weixin_42116705的博客 1687

DB2__基本概念——联邦

建立联邦 优点:优点是数据仍然保留在原来的存储位置,而不必建立一个集中的式数据仓储。  缺点:数据联邦查询反映会慢,不适合频繁查询,而且容易出现锁争用和资源冲突等问题 建立联邦表步骤 前提条件:知道两个数据库的ip,用户名,密码及被连数据库的版本 eg:  数据库  qqdb  ip: 22.5.225.225   端口:50000    密码:123456        数据库   ...

qq_38569524的博客 1257

Android Uri如何在intent中传输

http://ask.youkuaiyun.com/questions/155 Uri对象在intent中传输 Intent intent = new Intent(MainActivity.this, Homepage.class); intent.putExtra("image_uri", imageUri.toString()); startActivity(intent);

u012005313的专栏 4390

音频降采样系数

如果需要把8K, 16K, 32K, 48K采样率的音频数据降为4K的音频数据, 最简单的方法根据降频倍数来取点, 但是线性度不好. 另一种线性度好一点的方法是: 取适当个数的点数, 各点乘以各自点的系数, 然后相加取平均值. 降频倍数与系数的关系如下: 2倍:     {0.3, 0.4, 0.3} 4倍:    {0.15, 0.2, 0.3, 0.2, 0.15} 8倍:   {0

joans123的专栏 4646

【YOLOv8实战】从零构建番茄成熟度智能检测GUI系统【附完整工程】

本文详细介绍了从零构建基于YOLOv8的番茄成熟度智能检测GUI系统的完整实战流程。内容涵盖环境搭建、数据集准备、模型训练调优,并重点讲解如何使用PyQt5开发图形界面,最终将项目打包为可执行文件,实现AI模型从训练到桌面应用落地的完整工程闭环。

xxx12的博客 822

Android Studio学习疑点(一)

Android Studio学习疑点 关于Android Studio中AndroidManifest的action与category问题

sinat_28657811的博客 470

IoT 平台架构全景图:从设备到 AI 的完整技术体系深度解析

随着物联网设备规模进入百万级时代,IoT 平台架构已经从简单的设备接入系统演变为完整的数据平台。本文从系统架构师视角,深度解析 IoT 平台的完整技术体系,包括设备接入、MQTT 通信、消息流平台、数据平台与 AI 决策系统,并结合主流云平台实践,构建从设备到 AI 的完整 AIoT 架构认知。

moton2017的博客 856

Android系统Intent中的Uri使用

android之Uri的常用几个例子 Uri 通用资源标志符(Universal Resource Identifier, 简称"URI")。 Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。 @Override protected void onActivityResult(int request

花开花落的博客 1万+

【华为鸿蒙3.0/荣耀安卓12使用VMOS Pro的激活方式 方法二】

关于荣耀手机安卓12如何解除进程限制,这里提供以下教程供小伙伴们参考。

Amy_mumu的博客 13万+

FSMC驱动LCD显示屏学习2

液晶显示器,简称 LCD(Liquid Crystal Display)相对于上一代 CRT 显示器 (阴极射线管显示器),LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼的优点,因而它成为了现在的主流电子显示设备液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态,但是它的分 子排列却和固体晶体一样非常规则,因此取名液晶。

usjjjsj的博客 1696

Intent中的四个重要属性——Action、Data、Category、Extras

本文来自http://blog.youkuaiyun.com/liuxian13183/,引用请注明出处!All Rights Reserved ! Intent作为联系各Activity之间的纽带,除了常见的Activity之间的跳转以及数据传递,今天我们讲一讲它的一些特殊属性,可以作为深入研究Intent的一篇博客来看。

劝学 1万+

YOLOv8【第十章:多任务扩展深度篇·第16节】车道线检测——基于 YOLOv8-Seg 的车道线分割与拟合!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1万+

Intent的七大属性, ComponentName、  Action 、 Category 、 Data  、Type、  Extra  、Flags。

目录 Intent的七大属性: ComponentName、 Action 、 Category 、 Data 、Type、 Extra 、Flags。 (一)、ComponentName属性: (二)、Action、Category属性与intent-filter配置: (三)、Category 属性: (四)、Data属性: (五)、Type属性: (六)、Extra属性: 4、 Intent利用Action属性中的ACTION_GET_CONTENT获取返...

ZhangJiqun&191cm&85kg 4036

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Android 之 intent内容解析

intent filter声明的category,Intent中可以不全部指定,但是Intent指定的类别,Intent Filter必须全部匹配。Intent的运行模式,与activity的启动模式相辅相成。名字起的有点歧义,其实就是Uri,接受一个Uri对象,通常都是以字符串的形式传入到Uri.parse()方法中解析产生,更精确的指定当前Intent能够响应什么类型的数据。intent中文名字叫做意图,是一个将要执行的动作的抽象的描述,简单来说就是穿的消息,由Intent协助完成各个组件之间的通讯。

qq_38056514的博客 2699

Devexpress16.2.6破解工具

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

Intent和IntentFilter详解

Intent   Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在

CNnumen 8万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android 常用的intent action整理

作者:李超                 Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为

移动平台应用软件开发技术 3991
上一篇: 报错android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
下一篇: 文件大小单位转换
jesson002
博客等级 码龄17年 2粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值