博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Intent 匹配规则
阅读量:6584 次
发布时间:2019-06-24

本文共 1342 字,大约阅读时间需要 4 分钟。

本文翻译自Android API Guide,并经过整理.

Intent 匹配规则:做三项測试:action,data,category
1.action測试:
一个过滤器中能够定义零个或多个action,假设Intent不包括action,那么它通过此项測试.假设Intent包括的action,那么须要和过滤器中的action匹配(同样)才干通过測试.假设过滤器不定义action,不论什么Intent都不能通过測试(包括不定义action的Intent).
2.category測试:
一个过滤器能够定义零个或多个category,假设Intent未定义category,那么它通过測试,假设Intent中定义了category那么当中的每个category都要在过滤器中匹配到才干通过測试.须要注意的是通过startActivity()或 startActivityForResult()传入的implicit Intent在測试时Android自己主动包括了CATEGORY_DEFAULT,所以假设应用想要接收implicit Intent就必须包括 "android.intent.category.DEFAULT".
3.data測试:
一个过滤器能够定义零个或多个data,每个data能够定义一个mimeType和一个URI结构体.URI结构体的组成:
<scheme>://<host>:<port>/<path>
这四个域都是可选的,可是假设scheme未定义,host会被忽略,假设host未定义,port会被忽略,假设scheme和host都未定义那么path会被忽略.path能够包括通配符"*".
当Intent中的URI和过滤中的URI对照时,仅对照过滤中定义的部分.
当Intent中的URI和MIMETYPE和过滤器中的对照时:
a.当Intent中没有包括不论什么URI和MIMETYPE时,仅仅有过滤器未定义不论什么URI和MIMETYPE时才干通过測试.
b.当Intent仅仅包括URI没有包括MIMETYPE时,仅仅有Intent中的URI匹配过滤器的URI且过滤器未定义MIMETYPE时通过測试.
c.当Intent仅仅包括MIMETYPE时,仅仅有Intent中的MIMETYPE匹配过滤器的MIMETYPE且过滤器未定义URI时通过測试.
d.当Intent同一时候包括URI和MIMETYPE时,这时进行两部分測试,一是測试Intent中的MIMETYPE和过滤器中的MIMETYPE是否匹配,二是測试URI是否匹配,假设过滤器未定义URI,那么当Intent中的URI包括"file:"或"content:"时通过測试.特别注意,假设过滤器有定义URI,即使Intent中的URI包括"file:"或"content:"也不能通过測试,必须匹配才行.
 
Intent内容设置:
设置action使用setAction
设置category使用addCategory,能够添加多个
单独设置URI使用setData
单独设置MIMETYPE使用setType
同一时候设置URI和MIMETYPE使用setDataAndType
 
 

转载地址:http://wtxno.baihongyu.com/

你可能感兴趣的文章
js之侧边栏分享
查看>>
IGS_学习笔记09_IREP生成服务后台工具Soagenerate.sh
查看>>
linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用...
查看>>
Ferris教程学习笔记:js示例3.3 累加按钮,自加1
查看>>
springboot秒杀课程学习整理1-4
查看>>
org.eclipse.ui.actionSets扩展点
查看>>
备忘录模式(Memento Pattern)
查看>>
SQL SERVER全面优化-------Expert for SQL Server 诊断系列
查看>>
2018国庆qbxt刷题游记(目录)
查看>>
position:sticky布局
查看>>
简述XSS攻击及其防范措施
查看>>
Perf工具
查看>>
excel 添加换行符,去除换行符:
查看>>
小米5sp手机QQSD卡不可用
查看>>
httpWebRequest获取流和WebClient的文件抓取
查看>>
Linux下常用SVN命令
查看>>
[Leetcode]198. House Robber
查看>>
异步的事件轮询机制
查看>>
数学基础-概率论
查看>>
VALID_FOR in db standby
查看>>