<元数据>

语法:
<meta-data android:name="string"
           android:resource="resource specification"
           android:value="string" />
包含于:
<activity>
<activity-alias>
<application>
<provider>
<receiver>
<service>
说明:
可以向父组件提供的其他任意数据项的名称值对。一个组件元素可以包含任意数量的 <meta-data> 子元素。所有这些子元素的值收集到一个 Bundle 对象,并且可作为 PackageItemInfo.metaData 字段提供给组件。

通过 value 属性指定普通值。若要将资源 ID 指定为值,请改为使用 resource 属性。例如,以下代码会将 @string/kangaroo 资源中存储的任何值分配给 zoo 名称:

<meta-data android:name="zoo" android:value="@string/kangaroo" />

另一方面,使用 resource 属性会为 zoo 分配资源的数字 ID,而不是资源中存储的值:

<meta-data android:name="zoo" android:resource="@string/kangaroo" />

我们强烈建议您不要以多个单独 <meta-data> 条目的形式提供相关数据。相反,如果您有要与组件相关联的复杂数据,请将其存储为资源,并使用 resource 属性告知组件其 ID。

属性:
android:name
该项的唯一名称。若要保持名称的唯一性,请使用 Java 样式的命名惯例,例如“com.example.project.activity.fred”。
android:resource
对资源的引用。资源的 ID 是分配给该项的值。系统会使用 Bundle.getInt() 方法从元数据 Bundle 中检索 ID。
android:value
分配给该项的值。下表列出了可以指定为值的数据类型以及组件可以用来检索这些值的 Bundle 方法:
类型 Bundle 方法
字符串:使用双反斜杠 (\\) 转义字符,例如 \\n 表示新行,\\uxxxxx 表示 Unicode 字符 getString()
整数:例如 100 getInt()
布尔值:truefalse getBoolean()
颜色:采用 #rgb#argb#rrggbb#aarrggbb 格式 getInt()
浮点数:例如 1.23 getFloat()
引入于:
API 级别 1