page.title=<grant-uri-permission> parent.title=The AndroidManifest.xml File parent.link=manifest-intro.html @jd:body <dl class="xml"> <dt>syntax:</dt> <dd><pre class="stx"><grant-uri-permission android:<a href="#path">path</a>="<i>string</i>" android:<a href="#path">pathPattern</a>="<i>string</i>" android:<a href="#path">pathPrefix</a>="<i>string</i>" /></pre></dd> <dt>contained in:</dt> <dd><code><a href="{@docRoot}guide/topics/manifest/provider-element.html"><provider></a></code></dd> <dt>description:</dt> <dd itemprop="description">Specifies which data subsets of the parent content provider permission can be granted for. Data subsets are indicated by the path part of a {@code 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. <p> If a content provider's <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmns">grantUriPermissions</a></code> attribute is "{@code true}", permission can be granted for any the data under the provider's purview. However, if that attribute is "{@code false}", permission can be granted only to data subsets that are specified by this element. A provider can contain any number of {@code <grant-uri-permission>} elements. Each one can specify only one path (only one of the three possible attributes). </p> <p> For information on how permission is granted, see the <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html"><intent-filter></a></code> element's <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">grantUriPermissions</a></code> attribute. </p></dd> <dt>attributes:</dt> <dd><dl class="attr"> <dt><a name="path"></a>{@code android:path} <br/>{@code android:pathPrefix} <br/>{@code android:pathPattern}</dt> <dd>A path identifying the data subset or subsets that permission can be granted for. The {@code path} attribute specifies a complete path; permission can be granted only to the particular data subset identified by that path. The {@code pathPrefix} attribute specifies the initial part of a path; permission can be granted to all data subsets with paths that share that initial part. The {@code pathPattern} attribute specifies a complete path, but one that can contain the following wildcards: <ul> <li>An asterisk ('{@code *}') matches a sequence of 0 to many occurrences of the immediately preceding character.</li> <li><p>A period followed by an asterisk ("{@code .*}") matches any sequence of 0 to many characters.</p></li> </ul> <p> Because '{@code \}' 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 '{@code *}' would be written as "{@code \\*}" and a literal '{@code \}' would be written as "{@code \\\\}". This is basically the same as what you would need to write if constructing the string in Java code. </p> <p> For more information on these types of patterns, see the descriptions of {@link android.os.PatternMatcher#PATTERN_LITERAL}, {@link android.os.PatternMatcher#PATTERN_PREFIX}, and {@link android.os.PatternMatcher#PATTERN_SIMPLE_GLOB} in the {@link android.os.PatternMatcher} class. </p></dd> </dl></dd> <!-- ##api level indication## --> <dt>introduced in:</dt> <dd>API Level 1</dd> <dt>see also:</dt> <dd>the <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmns">grantUriPermissions</a></code> attribute of the <code><a href="{@docRoot}guide/topics/manifest/provider-element.html"><provider></a></code> element</dd> </dl>