intent简介

intent代表了安卓应用的启动意图,根据它的各个属性来确定启动哪个组件,它可以传递

Component、Action、Data、Category、Extra以及Flag。

Component:组件名称实际上就是一个ComponentName对象,用于标识唯一的应用程序组件,即指明了期望的Intent组件,这种对象的名称是由目标组件的类名与目标组件的包名组合而成的。

Action:实际上就是一个描述了Intent所触发动作名称的字符串

系统定义的Action常量有很多,下面只列出其中一些较常见的。

ACTION_CALL,拨出Data里封装的电话号码。
ACTION_EDIT,打开Data里指定数据所对应的编码程序。
ACTION_VIEW,打开能够显示Data中封装的数据的应用程序。
ACTION_MAIN,声明程序的入口,该Action并不会接收任何数据,同时结束后也不会返回任何数据。
ACTION_BOOT_COMPLETED,BroadcastReceiver Action的常量,表明系统启动完毕。
ACTION_TIME_CHANGED,BroadcastReceiver Action的常量,表示系统时间通过设置而改变。

Data:Data主要是对Intent消息中数据的封装,主要描述Intent的动作所操作到的数据的URI及类型。不同类型的Action会有不同的Data封装。

Category:Category是对目标组件类别信息的描述。同样作为一个字符串对象,一个Intent中可以包含多个Category。与Category相关的方法有三个,addCategory添加一个Category,removeCategory删除一个Category,而getCategories得到一个Category。

CATEGORY_GADGET,表示目标Activity是可以嵌入到其他Activity中的。
CATEGORY_HOME,表明目标Activity为HOME Activity。
CATEGORY_TAB,表明目标Activity是TabActivity的一个标签下的Activity。
CATEGORY_LAUNCHER,表明目标Activity是应用程序中最先被执行的Activity。
CATEGORY_PREFERNCE,表明目标Activity是一个偏好设置的Activity。

Extra:Extra中封装了一些额外的附加信息,这些信息是以键值对的形式存在的。

Flag:一些有关系统如何启动组件的标志位,Android同样对其进行了封装。

intentfilter的简介

intentfilter实际上相当于intent的过滤器,一个应用程序开发完成后,需要告诉Android系统自己能够处理哪

些隐形的intent请求,这就需要声明intentfilter。它过滤intent的时候,一般通过Action、Data、Category三方面进行监测。

(1)检查Action

一个Intent只能设置一种Action,但是一个IntentFilter却可以设置多个Action过滤。当IntentFilter设置了多个Action时,只需一个满足即可完成Action验证。当IntentFilter中没有说明任何一个Action时,那么任何的Action都不会与之匹配。而如果Intent中没有包含任何Action,那么只要IntentFilter中含有Action时,便会匹配成功。

(2)检查Data

数据的监测主要包含两部分,即数据的URI及数据类型,而数据URI又被分成三部分进行匹配(scheme、authority、path),只有这些全部匹配时,Data的验证才会成功。

(3)检查Category

IntentFilter同样可以设置多个Category,当Intent中的Category与IntentFilter中的一个Category完全匹配时,便会通过Category的检查,而其他的Category并不受影响。但是当IntentFilter没有设置Category时,只能与没有设置Category的Intent相匹配。

intent和intentfilter相关推荐

  1. Intent以及IntentFilter详解

    1. 前言 在Android中有四大组件,这些组件中有三个组件与Intent相关,可见Intent在Android整个生态中的地位高度.Intent是信息的载体,用它可以去请求组件做相应的操作,但是相 ...

  2. Android的Intent和IntentFilter应用说明一例

    很多人对文档中的Intent和IntentFilter不理解是什么意思,我这里举例解释下. Intent字面意思就是目标,目的.通俗一点,需要达成某些目标,则需要提供一些动作,这些目标的分类,以及达成 ...

  3. 描述一下 Intent 和 IntentFilter?

    Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消 息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的 ...

  4. 面试题 : Intent、IntentFilter、PendingIntent的区别

    第一次写博客,有什么错误或不足的地方,请各位前辈指正. Intent:负责界面的跳转,以及数据的传递. IntentFilter:是在权限文件里面配置的一个权限,它有几种类型 PendingInten ...

  5. Android中的Intent和Intent-filter总结

    一.相关概念 (一)基本概念 Intent中文意思指"意图",按照Android的设计理念,Android使用Intent来封装程序的"调用意图",不管启动Ac ...

  6. Android两个注意事项.深入了解Intent和IntentFilter(两)

    深入理解Intent和IntentFiler(二) 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空)     在上一篇文章中,我们比較具体学习了&q ...

  7. android Intent和IntentFilter

    android的应用程序包含三种重要的组件:Activity.Service.BroadcastReceiver,应用程序采用一致的方式来启动他们--都是依靠Intent来进行启动.Intent就封装 ...

  8. Intent 和 Intentfilter

    来自:https://developer.android.com/guide/components/intents-filters.html Intent是一个消息传递对象,您可以使用它从其他应用组件 ...

  9. Intent进阶 和 Intent-filter 学习笔记

    1,Intent的基础用法 Intent是android中各activity之间通信的一个很重要的类,一般我们是这么使用的 ? 1 //创建一个intent ? 1 2 3 4 5 6 7 8 9 1 ...

最新文章

  1. RMQ(Range Minimum/Maximum Query)问题:
  2. linux c 内存分配内存,Linuxc - 操作系统内存分配
  3. 深度学习之 hard negative mining (难例挖掘)
  4. java http请求原理_浅谈Spring Cloud zuul http请求转发原理
  5. 序列化与反序列化_分布式系统基础之序列化和反序列化
  6. 头条的_signature这个如何_如何彻底防止反编译,dex加密怎么做
  7. Android 通过Base64上传图片到服务器
  8. SSM毕设项目户籍管理系统jrg02(java+VUE+Mybatis+Maven+Mysql)
  9. 最小二乘法求解超定方程的原理
  10. 小米游戏本bios_小米游戏本2019款,原来他才是电脑的终极境界
  11. 笔记本电脑插入耳机仍然外放(亲测有效)
  12. 用C语言短除法求最大公因数用,用短除法求最大公因数
  13. PPT修改母版页码格式后不管用?
  14. autoit3转换php,autoit入门基础教程——字符串与变量转换.pdf
  15. 视觉测试_5分钟即可开始视觉测试
  16. Android Notification取消声音 取消弹出
  17. 如何屏蔽chrome浏览器内自带广告
  18. 英语日常口语对话(3)
  19. 社会,经济的1000+篇文章总结
  20. python第四周迭代器生成器序列化面向过程递归

热门文章

  1. CalledFromWrongThreadException
  2. linux的虚拟文件系统VFS
  3. android 资源引用 自定义标题栏
  4. 医疗在线服务InQuicker,融资0元年盈利400万美元!拒绝风投与炒作
  5. Get busy living or get busy dying
  6. 使用osql.exe, 将Select的内容保存为文件
  7. 3x3,5x5,7x7卷积核识别效率对比
  8. java 年计算_用Java计算leap年
  9. 【Python】利用 pytesseract 识别图片中的数字
  10. 【STM32】FreeRTOS 系统配置