Android中隐式意图(Intent)用法

隐式意图跳转Activity 立即下载
     
     Intent对象在Android应用开发中起到很大的作用,例如激活组件(Activity,Service 等组件)或者携带数据的功能,相信大家在开发中经常会用到这些功能,Android中的意图分为显式意图和隐式意图,显式意图大家应该用得比较多,但隐式意图在开发过程中也是必不可的。在这篇文章中粗略讲解下个人对隐式意图的用法。

假设情景:我要从一个Activity跳转到另外一个Activity中,通过隐式意图来激活另外一个Activity,应该如何实现呢?

首先,我们在Manifest.xml配置文件中配置intent-filter过滤器节点:

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.andyidea.intentdemo"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.   
  7.     <uses-sdk android:minSdkVersion="8" />  
  8.   
  9.     <application  
  10.         android:icon="@drawable/ic_launcher"  
  11.         android:label="@string/app_name" >  
  12.         <activity  
  13.             android:name=".IntentFirstActivity"  
  14.             android:label="@string/app_name" >  
  15.             <intent-filter>  
  16.                 <action android:name="android.intent.action.MAIN" />  
  17.   
  18.                 <category android:name="android.intent.category.LAUNCHER" />  
  19.             </intent-filter>  
  20.         </activity>  
  21.           
  22.         <activity  
  23.             android:name=".IntentSecondActivity"  
  24.             android:label="@string/app_name">  
  25.             <intent-filter >  
  26.                 <!--可以定制多个动作  程序中只要有一个匹配就行 -->  
  27.                 <action android:name="android.andyidea.second"/>  
  28.                   
  29.                 <!--必须指定一个类别  用startActivity启动 -->  
  30.                 <category android:name="android.andyidea.category" />  
  31.                   
  32.                 <!--默认必须指定一个类别 用startActivity启动 -->  
  33.                 <category android:name="android.intent.category.DEFAULT" />   
  34.                   
  35.                 <!--路径匹配  协议://主机名:端口号/路径 -->  
  36.                 <data android:scheme="http" android:host="www.andyidea.com" android:port="8080" android:path="/person"/>  
  37.                   
  38.                 <!--数据类型匹配 -->  
  39.                 <data android:mimeType="jpeg"/>  
  40.             </intent-filter>  
  41.         </activity>  
  42.     </application>  
  43.   
  44. </manifest>  
第二,我们在第一个Activity中添加相应的代码来实现匹配,这里就不做过多解释了,解释在代码的注释中。

[html]  view plain copy
  1. /**定义意图对象*/  
  2. Intent intent = new Intent();  
  3.   
  4. /**设置动作:可以定制多个动作  程序中只要有一个匹配就行*/  
  5. intent.setAction("android.andyidea.second");  
  6.   
  7. /**添加类别:startActivity(intent)启动Activity时会自动添加  
  8.  * android.intent.category.DEFAULT类别,所以需要在Manifest中  
  9.  * 配置该类别.但在程序中不需要明确添加该类别*/  
  10. intent.addCategory("android.andyidea.category");  
  11.   
  12. /**设置数据:API中说这个方法会将setType的方法设置的类型清除掉*/  
  13. intent.setData(Uri.parse("http://www.andyidea.com:8080/person"));  
  14.   
  15. /**设置类型:API中说这个方法会将setData上面的方法设置的数据清除掉*/  
  16. intent.setType("jpeg");  
  17.   
  18. /**同时设置数据和类型:如果Intent过滤器中同时包含数据和数据类型的设置  
  19.  * 就只能使用该方式来设置数据和类型*/  
  20. intent.setDataAndType(Uri.parse("http://www.andyidea.com:8080/person"), "jpeg");  
  21.   
  22. /**启动组件*/  
  23. startActivity(intent);  
至此,我们应该对Android中的隐式意图有个粗略的了解了吧。

利用隐式意图实现两个apk之间的数据传递 最近在用到插件开发,这里简单介绍利用隐式意图实现两个apk之间的数据传递 立即下载

相关推荐

告别Failed to start错误!保姆级教程:用Ubuntu20.04安装盘搞定GRUB与系统服务修复

本文提供Ubuntu20.04系统启动失败的专业修复指南,详细讲解如何利用安装盘解决GRUB与系统服务问题,避免重装系统导致的数据丢失。涵盖分区挂载、chroot环境操作、服务诊断与修复等实用技巧,帮助用户高效恢复系统正常运行。

weixin_32578161的博客 331

隐式意图和intentFilter匹配

隐式意图   隐式意图:在程序中没有为Intent对象的mComponent属性明确指出想要其启动组件。   隐式意图仅仅是为Intent对象指出一些筛选条件,然后Android系统会取出Intent对象中的数据和所有已经注册到系统中的组件进行匹配。 - 若匹配成功,则系统将激活该组件。 - 若有多个组件匹配成功,则系统将弹出一个对话框,要求用户选择所要激活的组件。 - 若没有任何组件

阿姆斯特哩的博客 823

threejs加载3dtiles(倾斜摄影)数据

1、安装3dTilesRenderer 插件 使用npm 安装 npm install 3d-tiles-renderer --save 或者去官网下载都行 GitHub - NASA-AMMOS/3DTilesRendererJS: Renderer for 3D Tiles in Javascript using three.js 2、使用 首先引入,在填入3dtiles数据的地址,可以是文件路径也可以是网站路径 const tilesRenderer = new TilesRend..

weixin_39481659的博客 1万+

Intent的基本使用

1.显式Intent与隐式Intent的区别 显式Intent:通过组件名指定启动的目标组件,比如startActivity(new Intent(A.this,B.class)); 每次启动的组件只有一个~ 隐式Intent:不指定组件名,而指定Intent的Action,Data,或Category,当我们启动组件时, 会去匹配AndroidManifest.xml相关组件的Intent-...

weixin_42922050的博客 189

信贷风控分析—征信数据源

详解企业和个人征信报告,以及信贷风控之指标构造案例参考

csdnbt的博客 3644

Unity ProBuilder(自己创建斜面、拐角)

ProBuilder基础实例

weixin_56537692的博客 1551

android 隐式意图的使用

隐式意图

qq_54038326的博客 1257

自偏置电流镜设计实例

自偏置电流镜设计实例 一、概述 ​ 众所周知,电流镜属于模拟电路设计中的一个基本模块,可为其他模块提供偏置电流,例如在放大器中提供偏置电流以形成尾电流源并确定直流偏置点。本文将会介绍一种自偏置的电流镜,从原理出发,并以0.18um的工艺进行设计和仿真。 二、原理 ​ 如图一所示的电路,也称之为Beta-multiply reference电路,其中M2的尺寸是M1的k倍。M3复制M4的电流,M2和M1的漏极电流相同,但是VGS并不相等。其中 VGS=2IμnCoxW/...

aonuanjiang的博客 1万+

xmlns:android="http://schemas.android.com/apk/res/android"详解

整句话的作用是声明命名空间的引用。 xmlns是xml namespace的缩写,意思是xml命名空间。后面schemas的意思是xml文件的约束(也就是xml的书写规范,类似于模板)

本人很懒 1万+

Oracle EBS和华为MetaERP在会计科目(COA)设计上的观察非常精准。这两种设计确实代表了两种截然不同的系统架构思想,我们可以从设计哲学、优劣对比和演进关系三个方面进行深入分析。

OracleEBS与华为MetaERP的COA设计对比分析 OracleEBS采用弹性域架构,通过固定段数字符串实现多维度核算,强调稳定性和全球统一标准,但修改成本高、扩展性受限。华为MetaERP采用解耦架构,将核算单元、自然科目和核算维度分离,支持动态扩展和灵活调整,更适合业务快速变化的企业。 OracleEBS优势在于强一致性和成熟稳定,劣势是灵活性差;华为MetaERP优势是极致灵活性,劣势是对管理要求高。两者代表了不同时代的企业软件设计理念:OracleEBS适合标准化需求,MetaERP则面向快

金牌架构师 433

YOLOv11改进 ,YOLOv11改进主干网络为MobileNetV3,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1939

Android显示意图代码,Android学习之Intent中显示意图和隐式意图的用法实例分析

本文实例讲述了Android学习之Intent中显示意图和隐式意图的用法。分享给大家供大家参考,具体如下:Intent(意图)主要是解决Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中...

weixin_28745525的博客 410

Windows Server 安装 AD 域服务一直失败?一招搞定“请求添加或删除指定服务器上的功能失败”

这个问题看似简单,其实暗藏了几个“隐藏门槛”,像是服务未开启、端口未开放、网卡组件未勾选、虚拟机 SID 冲突等等,尤其在云上装 AD 更容易踩坑。建议每一步都排查一下,尤其是服务和防火墙,很多安装失败其实都是被这两处给卡住了。如果你也遇到 “请求添加或删除指定服务器上的功能失败”,不妨参考这篇文章挨个试试看,说不定就能解决问题!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1429

Android学习记录(7)—Intent中显示意图和隐式意图的用法

Intent(意图)主要是解决Android应用的各项组件之间的通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。 例如,在一个联系人维

非著名程序员 2万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

关于android隐式启动activity的分析和说明,Android学习之Intent中显示意图和隐式意图的用法实例分析...

本文实例讲述了Android学习之Intent中显示意图和隐式意图的用法。分享给大家供大家参考,具体如下:Intent(意图)主要是解决Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中...

weixin_39737368的博客 322

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Android Intent中显示意图与隐式意图的基本用法

Intent(意图)主要是解决Android应用的各项组件之间的通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。 例如,在一个联系人维

付出总会有收获! 551

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android学习记录--Intent中显示意图和隐式意图的用法

Intent(意图)主要是解决Android应用的各项组件之间的通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。 例如,在一个联系人维

jiapeng的专栏 577

安卓开发过程中Intent的使用

安卓开发过程中Intent的使用1.Intent的作用 Intent中文意思为意图,在安卓中用来实现页面之间的跳转和数据的传递等功能。比如我们的应用从一个页面跳转到另一个页面,一个应用调用另一个应用,浏览器中调用打电话,发短信等功能,还有通过activity启动服务,广播接收者启动服务,广播接收者启动activity等。 服务其实就是一个没有界面的应用,比如音乐播放器退之后还可以后台播放,就是通过服

张乐的博客 1645

Android菜鸟的成长笔记(8)——Intent与Intent Filter(上)

摘要: Intent代表了Android应用的启动“意图”,Android应用将会根据Intent来启动指定组件,至于到底启动哪个组件,取决于Intent的各个属性。 一、显式的Intent 明确指定了要启动的组件的Intent我们称为显式的Intent 二、隐式的Intent 没有明确指定要启动的组件的Intent我们称为隐式的Intent 三、获取通讯录案例

水寒 4037

Android intent

Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的 Activity / Service和广播之间的交互。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。 Intent种类 显示意图 如直接

Eliza白的博客 210

Android——Intent传递信息

Intent组成元素 一、显示意图 需要指定被开启的类名或路径名,一般用于启动同一应用中的Aactivity 声明方式 //第一种:在构造函数中指定 Intent intent = new Intent(this,Res.class); //第二种:调用setClass方法 Intent intent = new Intent(); intent.setClass(this,Res.class);...

weixin_43662456的博客 384

android中intent 使用方法,Android开发:Intent介绍及使用方法

前言Intent在Android开发的应用非常常见,今天我就带给大家简单讲一下Intent的相关知识及其用法。目录 一、定义意图,描述的是应用的动作及其对应的数据。二、作用指定当前组件要完成的动作在Android不同组件不同组件进行数据的传递Activity、Service、BroadcastReceiver之间的通信以Intent为通信载体三、使用方法3.1指定当前组件要完成的动作分为显式和隐式...

weixin_40006185的博客 1224
上一篇: Android之水波效果(2不同效果的Demo)
下一篇: ayout_gravity 和 android:gravity 的区别
JavaLearner12
博客等级 码龄15年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值