19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpage.title=<grant-uri-permission>
22a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.title=The AndroidManifest.xml File
32a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.link=manifest-intro.html
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@jd:body
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dl class="xml">
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>syntax:</dt>
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><pre class="stx">&lt;grant-uri-permission android:<a href="#path">path</a>="<i>string</i>"
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                      android:<a href="#path">pathPattern</a>="<i>string</i>"
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                      android:<a href="#path">pathPrefix</a>="<i>string</i>" /&gt;</pre></dd>
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>contained in:</dt>
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code></dd>
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>description:</dt>
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>Specifies which data subsets of the parent content provider permission
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectcan be granted for.  Data subsets are indicated by the path part of a 
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{@code content:} URI.  (The authority part of the URI identifies the
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectcontent provider.)  
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectGranting permission is a way of enabling clients of the provider that don't 
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectnormally have permission to access its data to overcome that restriction on 
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecta one-time basis.
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p> 
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectIf a content provider's <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmns">grantUriPermissions</a></code> 
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectattribute is "{@code true}", permission can be granted for any the data under 
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe provider's purview.  However, if that attribute is "{@code false}", permission 
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectcan be granted only to data subsets that are specified by this element.  
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectA provider can contain any number of {@code &lt;grant-uri-permission&gt;} elements.  
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectEach one can specify only one path (only one of the three possible attributes).
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p>
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectFor information on how permission is granted, see the 
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">grantUriPermissions</a></code> attribute.
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd>
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>attributes:</dt>
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><dl class="attr">
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="path"></a>{@code android:path}
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<br/>{@code android:pathPrefix}
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<br/>{@code android:pathPattern}</dt>
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>A path identifying the data subset or subsets that permission can be 
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectgranted for.  The {@code path} attribute specifies a complete path; 
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpermission can be granted only to the particular data subset identified 
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectby that path.  
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectThe {@code pathPrefix} attribute specifies the initial part of a path; 
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpermission can be granted to all data subsets with paths that share that 
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinitial part.   
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectThe {@code pathPattern} attribute specifies a complete path, but one 
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthat can contain the following wildcards:
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<ul>
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<li>An asterisk ('{@code *}') matches a sequence of 0 to many occurrences of
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe immediately preceding character.</li>
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<li><p>A period followed by an asterisk ("{@code .*}") matches any sequence of 
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project0 to many characters.</p></li>
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</ul>
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>
639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectBecause '{@code \}' is used as an escape character when the string is read 
649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectfrom XML (before it is parsed as a pattern), you will need to double-escape:  
659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectFor example, a literal '{@code *}' would be written as "{@code \\*}" and a 
669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectliteral '{@code \}' would be written as "{@code \\\\}".  This is basically 
679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe same as what you would need to write if constructing the string in Java code.
689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p>
699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>
719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectFor more information on these types of patterns, see the descriptions of 
729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{@link android.os.PatternMatcher#PATTERN_LITERAL},
739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{@link android.os.PatternMatcher#PATTERN_PREFIX}, and
749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{@link android.os.PatternMatcher#PATTERN_SIMPLE_GLOB} in the
759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{@link android.os.PatternMatcher} class.
769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd>
779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</dl></dd>
789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
799c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty<!-- ##api level indication## -->
809c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty<dt>introduced in:</dt>
819c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty<dd>API Level 1</dd>
829c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty
839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>see also:</dt>
849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>the 
859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmns">grantUriPermissions</a></code>
869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectattribute of the 
879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 
889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectelement</dd>
899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</dl>
92