<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
另请参阅
<provider> 元素的 grantUriPermissions 属性