- syntax:
<property android:name="string" android:resource="resource specification" android:value="string" />
- contained in:
<activity>
<activity-alias>
<application>
<provider>
<receiver>
<service>
- description:
- A name-value pair for an item of additional, arbitrary data that can be supplied to the
parent component. A component element can contain any number of
<property>
subelements. Valid names include any of the property constants defined in thePackageManager
class,PackageManager.Property
tags defined in classes such asWindowProperties
, and arbitrary constants defined ad hoc. Obtain values individually using thePackageManager.getProperty()
method.Specify ordinary values with the
android:value
attribute. Specify resource IDs with theandroid:resource
attribute. Specifying bothandroid:value
andandroid:resource
is invalid.For example, the following code assigns whatever value is stored in the
@string/kangaroo
resource to thezoo
name:<property android:name="zoo" android:value=”@string/kangaroo” />
The code here, however, assigns the numeric ID of the resource, not the value stored in the resource, to
zoo
:<property android:name="zoo" android:resource=”@string/kangaroo” />
- attributes:
android:name
- The name of the property. A parsing error results if multiple, sibling
<property>
tags have the same name. android:resource
- A reference to a resource. The ID of the resource is the value assigned to the property. The ID can be retrieved
from the property by
PackageManager.Property.getResourceId()
. android:value
- A value assigned to the property. The following table lists valid data types and accessor methods for the value
attribute:
Type PackageManager.Property accessor String: Use double backslashes (\\) to escape characters; for example, \\n
and\\uxxxxx
for a Unicode charactergetString()
Integer: For example, 100
getInteger()
Boolean: Either true
orfalse
getBoolean()
Color: In the form #rgb
,#argb
,#rrggbb
, or#aarrggbb
getInteger()
Float: For example, 1.23
getFloat()
Note: A
<property>
tag should not contain bothandroid:value
andandroid:resource
attributes. If that happens,android:resource
is preferred.- introduced in:
- API Level 31
<property>
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# <property\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cproperty android:name=\"string\"\n android:resource=\"resource specification\"\n android:value=\"string\" /\u003e\n ```\n\ncontained in:\n: [\u003cactivity\u003e](/guide/topics/manifest/activity-element)\n\n [\u003cactivity-alias\u003e](/guide/topics/manifest/activity-alias-element)\n\n [\u003capplication\u003e](/guide/topics/manifest/application-element)\n\n [\u003cprovider\u003e](/guide/topics/manifest/provider-element)\n\n [\u003creceiver\u003e](/guide/topics/manifest/receiver-element)\n\n [\u003cservice\u003e](/guide/topics/manifest/service-element)\n\ndescription:\n: A name-value pair for an item of additional, arbitrary data that can be supplied to the\n parent component. A component element can contain any number of `\u003cproperty\u003e` subelements. Valid names\n include any of the [property constants](/reference/android/content/pm/PackageManager#constants_1) defined in\n the [PackageManager](/reference/android/content/pm/PackageManager) class,\n [PackageManager.Property](/reference/android/content/pm/PackageManager.Property) tags defined\n in classes such as [WindowProperties](/reference/kotlin/androidx/window/WindowProperties), and arbitrary constants defined ad hoc. Obtain values individually using the\n [PackageManager.getProperty()](/reference/android/content/pm/PackageManager#getProperty(java.lang.String,%20java.lang.String)) method.\n\n Specify ordinary values with the [android:value](/guide/topics/manifest/property-element#val)`\n ` attribute. Specify resource IDs with the\n [android:resource](/guide/topics/manifest/property-element#rsrc) attribute. Specifying\n both `android:value` and `android:resource` is invalid.\n\n\n For example, the following code assigns whatever value is stored in the `@string/kangaroo` resource to\n the `zoo` name:\n\n\n ```xml\n \u003cproperty android:name=\"zoo\" android:value=”@string/kangaroo” /\u003e\n ```\n\n\n The code here, however, assigns the numeric ID of the resource, not the value stored in the resource, to\n `zoo`:\n\n\n ```xml\n \u003cproperty android:name=\"zoo\" android:resource=”@string/kangaroo” /\u003e\n ```\n\nattributes:\n:\n\n `android:name`\n : The name of the property. A parsing error results if multiple, sibling `\u003cproperty\u003e` tags have the\n same name.\n\n `android:resource`\n : A reference to a resource. The ID of the resource is the value assigned to the property. The ID can be retrieved\n from the property by\n [PackageManager.Property.getResourceId()](/reference/android/content/pm/PackageManager.Property#getResourceId()).\n\n `android:value`\n : A value assigned to the property. The following table lists valid data types and accessor methods for the value\n attribute: \n\n\n | Type | PackageManager.Property accessor |\n |-----------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|\n | String: Use double backslashes (\\\\\\\\) to escape characters; for example, `\\\\n` and `\\\\uxxxxx` for a Unicode character | [getString()](/reference/android/content/pm/PackageManager.Property#getString()) |\n | Integer: For example, `100` | [getInteger()](/reference/android/content/pm/PackageManager.Property#getInteger()) |\n | Boolean: Either `true` or `false` | [getBoolean()](/reference/android/content/pm/PackageManager.Property#getBoolean()) |\n | Color: In the form `#rgb`, `#argb`, `#rrggbb`, or `#aarrggbb` | [getInteger()](/reference/android/content/pm/PackageManager.Property#getInteger()) |\n | Float: For example, `1.23` | [getFloat()](/reference/android/content/pm/PackageManager.Property#getFloat()) |\n\n\nintroduced in:\n: API Level 31"]]