<grant-uri-permission>

语法
<grant-uri-permission android:path="string"
                      android:pathPattern="string"
                      android:pathPrefix="string" />
包含在
<provider>
描述
指定父内容提供程序有权访问的应用数据的子集。数据子集由content: URI 的路径部分指示。URI 的权限部分标识内容提供程序。授予权限是一种方法,使通常无权访问其数据的提供程序的客户端能够克服一次性限制。

如果内容提供程序的grantUriPermissions 属性为true,则可以授予提供程序权限范围内的任何数据的权限。但是,如果该属性为false,则仅授予此元素指定的数据子集的权限。提供程序可以包含任意数量的<grant-uri-permission> 元素。每个元素只能使用三种可能的属性之一指定一条路径。

有关如何授予权限的信息,请参阅<intent-filter> 元素的grantUriPermissions 属性。

属性
android:path
android:pathPrefix
android:pathPattern
标识可以授予权限的数据子集或子集的路径。path 属性指定完整路径。只能授予该路径标识的特定数据子集的权限。

pathPrefix 属性指定路径的初始部分。可以授予所有路径共享该初始部分的数据子集的权限。pathPattern 属性指定完整路径,但可以包含以下通配符

  • 星号 (*) 匹配紧接其前的字符的零到多次出现。
  • 后跟星号的句点 (.*) 匹配零到多个字符的任何序列。

因为\ 在从 XML 读取字符串时用作转义字符,所以在将其解析为模式之前,您需要进行双重转义。例如,文字* 写为\\*,文字\ 写为\\\

有关这些类型模式的更多信息,请参阅PATTERN_LITERALPATTERN_PREFIXPATTERN_SIMPLE_GLOBPatternMatcher 类中的描述。

引入于
API 级别 1
另请参阅
grantUriPermissions 属性,位于<provider> 元素中