<meta-data>

语法
<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 属性会将资源的数字 ID(而不是资源中存储的值)分配给 zoo

<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