- Android开发中 AndroidManifest.xml配置之根节点<manifest>配置详解
- Android开发中 AndroidManifest.xml配置之<application>配置详解
- Android开发中 AndroidManifest.xml配置之<manifest>其他子标签配置详解
- Android开发中 AndroidManifest.xml配置之<activity>标签配置详解
- Android开发中 AndroidManifest.xml配置之<activity-alias>标签配置详解
- Android开发中 AndroidManifest.xml配置之隐式Intent相关标签配置详解
- Android开发中 AndroidManifest.xml配置之service,receiver标签配置详解
本文主要来分享隐式Intent相关的标签配置。如有错误,欢迎指正。
更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。
1. android:icon
图标标识。
2. android:label
标签标识。
3. android:priority
执行优先级,值越大,优先级越高,取值范围-1000-1000。
4. android:order
执行过滤时的顺序。
1. android:name
action名称。
1. android:name
category名称。
1. android:scheme
URI的scheme
2. android:host
URI的host
3. android:port
URI的端口
4. android:path
5. android:pathPrefix
6. android:pathPattern
4、5、6 表示URI中的路径规则。
7. android:mimeType
MINE的多媒体类型。
以上标签都是Intent的在隐式匹配中可能会用到的规则,此处做一些匹配说明:
总的匹配原则是:
1. 匹配过滤列表时需要同时匹配过滤列表中的action,category,data;
2. 一个过滤列表中可以有多个action,category,data并各自构成不同类别,一个Intent必须同时匹配action类别,category类别和data类别才算完全匹配。
3. Activity,Service,BroadcastReceiver中都可包含多组intent-filter,一个Intent只要匹配任何一组intent-filter就算匹配成功。
action的匹配规则:
1. action的name属性在做匹配时是严格区分大小写的;
2. Intent中必须存在action,可以没有category;
3. 匹配规则中可以同时有多个action,但是Intent中的action只需与其中之一相同即可匹配成功。
category的匹配规则:
1. 虽然可以在Intent中不添加category,但是在启动Activity,Service组件或者发送广播时,系统会自动添加一个”android.intent.category.DEFAULT”默认的category。
2. Intent中可以同时设置多个category,一旦设置多个category,那么每个category都必须能够和过滤条件中的某个category匹配成功。
data的说明及匹配规则:
1. 在JS调用原生组件时,data非常有用;
2. 如果Intent-filter中定义了data,那么Intent中必须要定义可匹配的data;
3. data有两部分组成:mineType和URI,
4. mineType是媒体类型,可以表示图片、文本、视频等不同媒体格式;
5. URI的结构:<scheme>://<host>:<port>/[<path>|<pathPrefix>|<pathPatten>],
path、pathPattern可以表示完整的路径信息,其中pathPattern可以包含通配符*,表示0个或者多个任意字符;pathPrefix只表示路径的前缀信息。
更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。