ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> 移动开发 >> cherry filter 你必须弄懂的Intent Filter匹配规则

cherry filter 你必须弄懂的Intent Filter匹配规则(3/7)

来源:网络整理     时间:2016-06-15     关键词:cherry filter

本篇文章主要介绍了"cherry filter 你必须弄懂的Intent Filter匹配规则",主要涉及到cherry filter方面的内容,对于移动开发感兴趣的同学可以参考一下: Intent简介 Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行...

       如果Intent没有提供type,系统将从data中得到数据类型。和action一样,同action类似,只要Intent的data只要与Intent Filter中的任一个data声明完全相同,data方面就完全匹配成功。
       data由两部分组成:mimeType和URI
       MineType指的是媒体类型:例如imgage/jpeg,auto/mpeg4和viedo/*等,可以表示图片、文本、视频等不同的媒体格式
uri则由scheme、host、port、path | pathPattern | pathPrefix这4部分组成

://:/[||]

例如:
       content://com.wooyun.org:200/folder/etc
       http://www.wooyun.org:80/search/info

       Intent的uri可通过setData方法设置,mimetype可通过setType方法设置。
       需要注意的是:若Intent Filter的data声明部分未指定uri,则缺省uri为content或file,Intent中的uri的scheme部分需为content或file才能匹配;若要为Intent指定完整的data,必须用setDataAndType方法,究其原因在,setData和setType方法的源码中我们发现:

public Intent setData(Uri data) {
    mData = data;
    mType = null;
    returnthis;
}
public Intent setType(String type) {
    mData = null;
    mType = type;return this;
}

       这两个方法会彼此互相清除对方的值(这个比较逗),即setData会把mimeType置为null,setType会把uri置为null。
       下面我们来举例说明一下data的匹配。首先我们先来看一下Intent Filter中指定data的语法:

cherry filter相关图片

cherry filter相关文章