Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消
息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的内容。对于一个 Intent 对象,消息
“目的地”是必须的,而内容则是可选项。
通过 Intent 可以实现各种系统组件的调用与激活.
IntentFilter: 可以理解为邮局或者是一个信笺的分拣系统…
这个分拣系统通过 3 个参数来识别
Action: 动作 view
Data: 数据 uri uri
Category : 而外的附加信息
Action 匹配
Action 是一个用户定义的字符串,用于描述一个 Android 应用程序组件,一个 IntentFilter 可以包含多个
Action。在 AndroidManifest.xml 的 Activity 定义时可以在其 <intent-filter >节点指定一个 Action 列表用于标
示 Activity 所能接受的“动作”,例如:

intent-filter >
<action android:name="android.intent.action.MAIN" />
<action android:name="cn.itheima.action" />
……
</intent-filter>

如果我们在启动一个 Activity 时使用这样的 Intent 对象:

Intent intent =new Intent();
intent.setAction("com.loaderman.action")

那么所有的 Action 列表中包含了“cn.itheima”的 Activity 都将会匹配成功。
Android 预定义了一系列的 Action 分别表示特定的系统动作。这些 Action 通过常量的方式定义在
android.content. Intent 中,以“ACTION_”开头。我们可以在 Android 提供的文档中找到它们的详细说明。
URI 数据匹配
一个 Intent 可以通过 URI 携带外部数据给目标组件。在 <intent-filter >节点中,通过 <data/>节点匹配外部
数据。
mimeType 属性指定携带外部数据的数据类型,scheme 指定协议,host、port、path 指定数据的位置、端口、
和路径。如下:

<data android:mimeType="mimeType" android:scheme="scheme"
android:host="host" android:port="port" android:path="path"/>

电话的 uri tel: 12345
http://www.baidu.com
自己定义的 uri itcast://cn.itcast/person/10
如果在 Intent Filter 中指定了这些属性,那么只有所有的属性都匹配成功时 URI 数据匹配才会成功。
Category 类别匹配
<intent-filter >节点中可以为组件定义一个 Category 类别列表,当 Intent 中包含这个列表的所有项目时
Category 类别匹配才会成功。

转载于:https://www.cnblogs.com/loaderman/p/6525491.html

描述一下 Intent 和 IntentFilter?相关推荐

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

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

  2. intent和intentfilter

    intent简介 intent代表了安卓应用的启动意图,根据它的各个属性来确定启动哪个组件,它可以传递 Component.Action.Data.Category.Extra以及Flag. Comp ...

  3. Intent 和 Intentfilter

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

  4. Intent以及IntentFilter详解

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

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

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

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

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

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

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

  8. android Intent和IntentFilter

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

  9. Android刘海屏、水滴屏全面屏适配详解大厂直通车!

    为什么想跳槽? 简单说一下当时的状况,我在这家公司做了两年多,这两年多完成了一个大项目,作为开发的核心主力,开发压力很大,特别是项目上线前的几个月是非常辛苦,几乎每晚都要加班到12点以后,周末最多只有 ...

最新文章

  1. MyEclipse 9.x Professional/blue/spring/bling 下载与破解
  2. Redis 基本数据类型 :String、Hash、List、Set、ZSet
  3. 联想服务器开机显示系统恢复选项,联想电脑win10系统开机时按哪个键进入一键还原模式...
  4. MVC是一种用于表示层设计的复合设计模式
  5. RedHat el5.0 搭建 Postfix 邮件服务器系统一
  6. JS的常用正则表达式 验证密码
  7. java内存分配空间大小,JVM内存模型及内存分配过程
  8. python决策树逻辑回归_百面机器学习(逻辑回归以及决策树,leetcode)
  9. 技术 | Python从零开始系列连载(二十三)
  10. linux md5sum 文件夹,每天一个 Linux 命令(63):cksum、md5sum、sha1sum命令
  11. visio增加连接点
  12. Spring Boot 定制个性 banner
  13. 信息系统项目管理师考试核心考点汇总
  14. 几个Python小案例, 爱上Python编程!
  15. amd cpu排行_目前cpu排行榜(2020cpu性能排名对比)
  16. 阿米巴经营会计报表复习
  17. 2019人工智能大数据精英大会圆满落幕(内附大会PPT干货资源)
  18. java oracle 时间查询_Oracle 日期查询
  19. 【实战经验】Greenplum集群Master與Segment节点故障检测与恢复
  20. 详细讲解Java并发编程

热门文章

  1. 获取局域网打印机列表
  2. linux tc打造ip流量限制
  3. 保护SNMP协议服务安全的三个步骤
  4. OBS源代码阅读笔记
  5. 循环神经网络 递归神经网络_如何用递归神经网络预测空气污染
  6. linux mysql清除数据库所有表_MySQL修复指定数据库下的所有表
  7. Myeclipse在启动tomcat的时候的模式改变
  8. springboot 简单自定义starter - beetl
  9. Msql的DML、DDL、DCL的区别
  10. 环境变量,cp,mv,查看文档命令