《安卓系统Android应用程序开发PPT教材_第6章组件通信与.ppt》由会员分享,可在线阅读,更多相关《安卓系统Android应用程序开发PPT教材_第6章组件通信与.ppt(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、6.2 Intent过滤器n注册Intent过滤器q节点支持的标签和属性n标签用来指定Intent过滤器的服务方式,每个Intent过滤器可以定义多个标签,程序开发人员可使用自定义的类别,或使用Android系统提供的类别标签标签属性属性说明说明android:name指定组件所能响应的动作,用字符串表示,通常使用Java类名和包的完全限定名构成android:category指定以何种方式去服务Intent请求的动作Android:host指定一个有效的主机名android:mimetype指定组件能处理的数据类型android:path有效的URI路径名android:port主机的有效端
2、口号android:scheme所需要的特定的协议6.2 Intent过滤器n注册Intent过滤器qAndroid系统提供的类别qAndroidManifest.xml文件中的每个组件的都被解析成一个Intent过滤器对象。当应用程序安装到Android系统时,所有的组件和Intent过滤器都会注册到Android系统中。这样,Android系统便知道了如何将任意一个Intent请求通过Intent过滤器映射到相应的组件上值值说明说明ALTERNATIVEIntent数据默认动作的一个可替换的执行方法SELECTED_ALTERNATIVE 和ALTERNATIVE类似,但替换的执行方法不是
3、指定的,而是被解析出来的BROWSABLE声明Activity可以由浏览器启动DEFAULT为Intent过滤器中定义的数据提供默认动作HOME设备启动后显示的第一个ActivityLAUNCHER在应用程序启动时首先被显示6.2 Intent过滤器nIntent解析qIntent到Intent过滤器的映射过程称为“Intent解析”qIntent解析可以在所有的组件中,找到一个可以与请求的Intent达成最佳匹配的Intent过滤器qIntent解析的匹配规则nAndroid系统把所有应用程序包中的Intent过滤器集合在一起,形成一个完整的Intent过滤器列表n在Intent与Inten
4、t过滤器进行匹配时,Android系统会将列表中所有Intent过滤器的“动作”和“类别”与Intent进行匹配,任何不匹配的Intent过滤器都将被过滤掉。没有指定“动作”的Intent过滤器可以匹配任何的Intent,但是没有指定“类别”的Intent过滤器只能匹配没有“类别”的Intent6.2 Intent过滤器nIntent解析n把Intent数据Uri的每个子部与Intent过滤器的标签中的属性进行匹配,如果标签指定了协议、主机名、路径名或MIME类型,那么这些属性都要与Intent的Uri数据部分进行匹配,任何不匹配的Intent过滤器均被过滤掉n如果Intent过滤器的匹配结果多于一个,则可以根据在标签中定义的优先级标签来对Intent过滤器进行排序,优先级最高的Intent过滤器将被选择http:/www.anzhuo.cc/forum-58-1.html 安卓HTC One X论坛 6.2 Intent过滤器nIntentResolutionDemo示例qIntentResolutionDemo示例说明了如何在AndroidManifest.xml文件中注册Intent过滤器,以及如何设置节点属性来捕获指定的IntentqAndroidManifest.xml的完整代码如下1.1.2.1.