<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 属性将 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 是分配给项目的 value。ID 是使用 Bundle.getInt() 方法从元数据 Bundle 中检索的。
android:value
分配给项目的数值。 下表列出了可以分配为值的數據類型以及组件使用Bundle方法来检索这些值。
类型 Bundle 方法
字符串:使用双反斜杠 (\\) 来转义字符,例如 \\n 用于换行符,以及 \\uxxxxx 用于 Unicode 字符 getString()
整数:例如 100 getInt()
布尔值:truefalse getBoolean()
颜色:格式为 #rgb#argb#rrggbb#aarrggbb getInt()
浮点数:例如 1.23 getFloat()
首次引入于
API 级别 1