Android开发-API指南-<data>

<data>

英文原文:http://developer.android.com/guide/topics/manifest/data-element.html
采集(更新)日期:2014-6-30
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300101h236.html

语法:

<data android:scheme="string"
      android:host="string"
      android:port="string"
      android:path="string"
      android:pathPattern="string"
      android:pathPrefix="string"
      android:mimeType="string" />

包含于:
<intent-filter>
说明:
在 Intent 过滤器中加入一个数据项的定义。 此定义可以只有数据类型(mimeType 属性)、 只有URI,也可以既有数据类型又有 URI 。 URI 由多个独立属性组合而成,如下所示:

<scheme> :// <host> : <port> /[ <path> | <pathPrefix> | <pathPattern> ]

这些定义 URL 格式的属性是可选项,但也具有相互依赖性:

  • 如果没有为 Intent 过滤器定义 scheme ,则所有其他 URI 属性将被忽略。
  • 如果没有为 Intent 过滤器定义 host,则 port 属性和所有路径属性都将被忽略。

包含于同一个 <intent-filter> 元素内的所有 <data> 元素均作用于同一个过滤器。 例如,以下过滤器的定义:

<intent-filter . . . >
    <data android:scheme="something" android:host="project.example.com" />
    . . .
</intent-filter>

就等同于以下定义:

<intent-filter . . . >
    <data android:scheme="something" />
    <data android:host="project.example.com" />
    . . .
</intent-filter>

在一个 <intent-filter> 内可以放置任意数量的 <data> 元素,以便给出多个数据项。 所有属性都没有默认值。

关于 Intent 过滤器的工作机制,包括 Intent 对象与过滤器的匹配规则,可以查阅另一篇文档 Intent 和 Intent 过滤器 。请参阅 Manifest 概述中的 Intent 过滤器 章节。

属性:
android:scheme
URI 的 scheme 部分。 这是定义一个 URI 至少必须具备的属性,否则其他 URI 属性都没有意义。

scheme 请不要以冒号结尾(比如应为 http ,而不是 http:)。

如果过滤器定义了数据类型( mimeType 属性),但没有定义 scheme , 则系统假定使用 content:file: 类型的 scheme 。

注意: 与 RFC 不同,符合 Android 平台要求的 scheme 类型是大小写敏感的。 因此,请确保使用小写字母来指定 scheme 类型。

android:host
URI 的主机名部分。 只有同时为过滤器指定了 scheme 属性后,本属性才有意义。

注意: 与通常的 RFC 不同,符合 Android 平台要求的主机名是大小写敏感的。 因此,请确保用小写字母指定 host 。

android:port
URI 的端口部分。 只有同时为过滤器指定了 schemehost 属性后,本属性才有意义。
android:path
android:pathPrefix

android:pathPattern

URI的路径部分。
path 属性定义了匹配 Intent 对象的完整路径。
pathPrefix 属性定义了匹配 Intent 对象路径的起始部分。
pathPattern 属性定义了匹配 Intent 对象的完整路径,只是可包含以下通配符:

  • 用星号(“*”)匹配紧随其前的字符的0次或多次出现。
  • 句点后跟星号(“.*”)匹配任何字符的0次或多次出现。

在从 XML 读取字符串时(在作为表达式被解析以前),“\”被用作了转义字符,
因此需要进行二次转义:比如,“*”应写成 "\\*" ,“\”应写成 "\\\\" 。
这基本上和 Java 代码里构造字符串的写法相同。

关于这三种表达式的更多信息,请参阅
PatternMatcher
类中的
PATTERN_LITERAL
PATTERN_PREFIX
PATTERN_SIMPLE_GLOB
的说明。

仅当过滤器的 schemehost 属性都已定义时,这些属性才有意义。

android:mimeType
MIME多媒体类型,比如 image/jpegaudio/mpeg4-generic
子类型可以是通配符星号(*),这表示可匹配任意子类型。

Intent 过滤器常常会声明一个仅包含 android:mimeType 属性的 <data>

注意:
注意:与通常的 RFC MIME 类型不同,符合 Android 平台要求的 MIME 类型是大小写敏感的。
因此请确保用小写字母指定 MIME 类型。

引入自:
API 级别 1
参阅:
<action>
<category>
时间: 2024-11-06 10:05:42

Android开发-API指南-<data>的相关文章

Android开发-API指南-&lt;application&gt;

<application> 英文原文:http://developer.android.com/guide/topics/manifest/application-element.html 采集(更新)日期:2014-5-30 更新下老的文档,祝贺下自己 42 岁的生日. 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmga.html 语法: <application android:allowTaskReparenting=[&q

Android开发-API指南-&lt;provider&gt;

<provider> 英文原文:http://developer.android.com/guide/topics/manifest/provider-element.html 采集(更新)日期:2014-7-1 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmv5.html 语法: <provider android:authorities="list" android:enabled=["true&

Android开发-API指南-&lt;uses-feature&gt;

<uses-feature> 英文原文:http://developer.android.com/guide/topics/manifest/uses-feature-element.html 采集(更新)日期:2014-7-7 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmwf.html 在本文中 Google Play 和基于设备特性的过滤机制 基于显式声明的特性需求进行过滤 基于隐含的特性需求进行过滤 对蓝牙特性的特殊处理 对应用

Android开发-API指南-应用程序开发基础

Application Fundamentals 英文原文:http://developer.android.com/guide/components/fundamentals.html 采集日期:2014-04-16 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300101h41p.html 在本文中 应用程序组件 激活组件 Manifest 文件 声明组件 声明应用程序的需求 应用程序资源 Android 应用程序是用 Java 语言编写的.And

Android开发-API指南-&lt;compatible-screens&gt;

<compatible-screens> 英文原文:http://developer.android.com/guide/topics/manifest/compatible-screens-element.html 采集(更新)日期:2014-6-30 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmub.html 语法: <compatible-screens> <screen android:screenSize=

Android开发-API指南-任务和回退栈

Task 和 Back Stack 英文原文: http://developer.android.com/guide/components/tasks-and-back-stack.html 采集(更新)日期:2014-12-16 在本文中 保存 Activity 状态 管理多个 Task 指定启动模式 处理 affinity 清理回退栈k 启动任务 相关文章 Multitasking the Android Way 参阅 Android 设计 : 导航 <activity> manifest

【最后一篇API译文】Android开发-API指南- Contacts Provider

Contacts Provider 今年加入了某字幕组,加之杂事颇多,许久未添新文了,惭愧之极. 在听闻 Google 即将重返中国后,近日忽又发现官方网站正在放出 API 中文版,比如本文.当然不是大家所译,但至少句子结构较通顺,窃以为比 MSDN 中文版好些.虽有些生硬(比如将 Provider 译为“提供者”,有趣得紧),但好在前无古人,也许 Google 自此便统一了自己的中文术语也未可知.能让更多的国人精确领悟 Android 的精髓,肯定是好事,希望 Google 继续坚持. 这事应

Android开发-API指南-服务

Service 英文原文:http://developer.android.com/guide/components/services.html 采集(更新)日期:2014-12-23 原博客:http://blog.sina.com.cn/s/blog_48d49130010102pn.html 在本文中 概述 在manifest中声明服务 创建一个started服务 扩展IntentService类 扩展Service类 启动一个服务 终止一个服务 创建一个bound服务 向用户发送通知 在

Android开发-API指南-&lt;service&gt;

<service> 英文原文:http://developer.android.com/guide/topics/manifest/service-element.html 采集(更新)日期:2014-7-2 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmva.html 语法: <service android:enabled=["true" | "false"] android:expor

Android开发-API指南-&lt;receiver&gt;

<receiver> 英文原文:http://developer.android.com/guide/topics/manifest/receiver-element.html 采集(更新)日期:2014-7-2 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmv7.html 语法: <receiver android:enabled=["true" | "false"] android:ex