<grant-uri-permission android:path="string" android:pathPattern="string" android:pathPrefix="string" />
- contained in:
- Specifies the subsets of app data that the parent content provider
has permission to access. Data subsets are indicated by the path part of a
content:URI. (The authority part of the URI identifies the content provider.) Granting permission is a way of enabling clients of the provider that don't normally have permission to access its data to overcome that restriction on a one-time basis.
If a content provider's
grantUriPermissionsattribute is "
true", permission can be granted for any the data under the provider's purview. However, if that attribute is "
false", permission can be granted only to data subsets that are specified by this element. A provider can contain any number of
<grant-uri-permission>elements. Each one can specify only one path (only one of the three possible attributes).
- A path identifying the data subset or subsets that permission can be
granted for. The
pathattribute specifies a complete path; permission can be granted only to the particular data subset identified by that path. The
pathPrefixattribute specifies the initial part of a path; permission can be granted to all data subsets with paths that share that initial part. The
pathPatternattribute specifies a complete path, but one that can contain the following wildcards:
- An asterisk ('
*') matches a sequence of 0 to many occurrences of the immediately preceding character.
A period followed by an asterisk ("
.*") matches any sequence of 0 to many characters.
\' is used as an escape character when the string is read from XML (before it is parsed as a pattern), you will need to double-escape: For example, a literal '
*' would be written as "
\\*" and a literal '
\' would be written as "
\\\\". This is basically the same as what you would need to write if constructing the string in Java code.
- An asterisk ('
- introduced in:
- API Level 1
- see also:
grantUriPermissionsattribute of the
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-12-27.