<grant-uri-permission>

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

如果内容提供者的 grantUriPermissions 属性为 true,则可以为提供者管辖范围内的任何数据授予权限。但是,如果该属性为 false,则仅为通过此元素指定的 data 子集授予权限。提供者可以包含任意数量的 <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> 元素