syntax:
:

    ```xml
    <grant-uri-permission android:path="string"
                          android:pathPattern="string"
                          android:pathPrefix="string" />
    ```

contained in:
:   [<provider>](https://developer.android.com/guide/topics/manifest/provider-element)

description:
:   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[grantUriPermissions](https://developer.android.com/guide/topics/manifest/provider-element#gprmsn)attribute is`true`, permission can be granted for any of the data under the provider's purview. However, if that attribute is`false`, permission is 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, using one of the three possible attributes.

    For information about how permission is granted, see the[<intent-filter>](https://developer.android.com/guide/topics/manifest/intent-filter-element)element's[grantUriPermissions](https://developer.android.com/guide/topics/manifest/provider-element#gprmsn)attribute.

attributes:
:

    `android:path`  
    `android:pathPrefix`  
    `android:pathPattern`
    :   A path identifying the data subset or subsets that permission can be granted for. The`path`attribute specifies a complete path. Permission can granted only to the particular data subset identified by that path.

        <br />

        The`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`pathPattern`attribute specifies a complete path, but one that can contain the following wildcards:

        - An asterisk (`*`) matches a sequence of zero to many occurrences of the immediately preceding character.
        - A period followed by an asterisk (`.*`) matches any sequence of zero to many characters.

        Because`\`is used as an escape character when the string is read from XML, before it is parsed as a pattern, you need to double-escape. For example, a literal`*`is written as`\\*`and a literal`\`is written as`\\\`.

        For more information about these types of patterns, see the descriptions of[PATTERN_LITERAL](https://developer.android.com/reference/android/os/PatternMatcher#PATTERN_LITERAL),[PATTERN_PREFIX](https://developer.android.com/reference/android/os/PatternMatcher#PATTERN_PREFIX), and[PATTERN_SIMPLE_GLOB](https://developer.android.com/reference/android/os/PatternMatcher#PATTERN_SIMPLE_GLOB)in the[PatternMatcher](https://developer.android.com/reference/android/os/PatternMatcher)class.

introduced in:
:   API level 1

see also:
:   [grantUriPermissions](https://developer.android.com/guide/topics/manifest/provider-element#gprmsn)attribute of the[<provider>](https://developer.android.com/guide/topics/manifest/provider-element)element