Android开发中 AndroidManifest.xml配置之隐式Intent相关标签配置详解

本文主要来分享隐式Intent相关的标签配置。如有错误,欢迎指正。
更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。

intent-filter.jpg

1. android:icon

图标标识。

2. android:label

标签标识。

3. android:priority

执行优先级,值越大,优先级越高,取值范围-1000-1000。

4. android:order

执行过滤时的顺序。

action.jpg

1. android:name

action名称。

category.jpg

1. android:name

category名称。

data.jpg

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开发技能。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享