您的位置:华清远见教育科技集团 >> Android资料 >> Android开发之注册Intent过滤器  
 
Android开发之注册Intent过滤器
分享到:

Intent过滤器是一种根据Intent中的动作(Action)、类别(Categorie)和数据(Data)等内容,对适合接收该Intent的组件进行匹配和筛选的机制。它可以匹配数据类型、路径和协议,还可以用来确定多个匹配项顺序的优先级(Priority)。

应用程序的Activity组件、Service组件和BroadcastReceiver都可以注册Intent过滤器,这些组件在特定的数据格式上就可以产生相应的动作。

注册Intent过滤器的方法如下:

在AndroidManifest.xml文件的各个组件的节点下定义<intent-filter>节点,然后在<intent-filter>节点中声明该组件所支持的动作、执行的环境和数据格式等信息。

<intent-filter>节点支持<action>标签、<category>标签和<data>标签,其中:<action>标签定义Intent过滤器的“类别”;<category>标签定义Intent过滤器的“动作”;<data>标签定义Intent过滤器的“数据”。

<intent-filter>节点支持的标签和属性如表6-4所示。

表6-4 <intent-filter>节点支持的标签和属性

标 签 属 性 说 明
<action> Android:name 指定组件所能响应的动作,用字符串表示,通常使用Java类名和包的完全限定名构成
<category> Android:category 指定以何种方式去服务Intent请求的动作
<data> Android:host 指定一个有效的主机名
Android:mimetype 指定组件能处理的数据类型
Android:path 有效的Uri路径名
Android:port 主机的有效端口号
Android:scheme 所需要的特定的协议

<category>标签用来指定Intent过滤器的服务方式,每个Intent过滤器可以定义多个<category>标签,程序开发人员可使用自定义的类别,或使用Android系统提供的类别。其中,Android系统提供的类别如表6-5所示。

表6-5 Android系统提供的类别

说 明
ALTERNATIVE Intent数据默认动作的一个可替换的执行方法
SELECTED_ALTERNATIVE 和ALTERNATIVE类似,但替换的执行方法不是指定的,而是被解析出来的
BROWSABLE 声明Activity可以由浏览器启动

续表

说 明
DEFAULT 为Intent过滤器中定义的数据提供默认动作
HOME 设备启动后显示的第一个Activity
LAUNCHER 在应用程序启动时首先被显示

AndroidManifest.xml文件中的每个组件的<intent-filter>都被解析成一个Intent过滤器对象。当应用程序安装到Android系统时,所有的组件和Intent过滤器都会注册到Android系统中。这样,Android系统便知道了如何将任意一个Intent请求通过Intent过滤器映射到相应的组件上。

 更多相关文章

·Android开发之使用Intent发送广播消息
·Android开发之Intent解析
·Android开发之使用Intent隐式启动Activity
·如何使用Intent显式启动Activity?
·Android开发中Intent属性详解