Android开发-API指南-<grant-uri-permission>

来源:互联网 发布:中国海关数据统计 编辑:程序博客网 时间:2024/05/29 18:24

< grant-uri-permission >


英文原文:http://developer.android.com/guide/topics/manifest/grant-uri-permission-element.html
采集(更新)日期:2014-6-30

 
语法:
< grant-uri-permission android:path="string"     android:pathPattern="string"     android:pathPrefix="string" / >
包含于:
< provider >
说明:
指定父 Content Provider 访问权限的哪些子集可被授权。 这些子集用 content: 的 path 部分进行标明。(URI 的 authority 部分标明了 Content Provider 。) 这种授权机制向 Content Provider 的客户端提供了一次性越权访问的途径,这里的客户端是指那些正常情况下无权访问该 Content Provider 中数据的客户端。

如果 Content Provider 的 grantUriPermissions 属性值为“true”,则该 Provider 内所有的数据都能被授权访问。 可它如果设为“false”,则只有本元素指定的数据子集才能被授权。 一个 Provider 内可以包含任意数量的 < grant-uri-permission > 元素。 其中每一个只能指定一条路径(三种可能的属性之一)。

关于如何授权的详细信息,请参阅 < intent-filter > 元素的 grantUriPermissions 属性。

属性:
android:path
android:pathPrefix
android:pathPattern
标明可被授权的一个或多个数据子集的路径部分。 path 属性指定完整路径,只能对该路径指定部分的数据子集进行授权。 pathPrefix属性指定路径的起始部分,只能对那些以此为路径前缀的数据进行授权。pathPattern属性也指定完整路径,只是可包含以下通配符:
  • 星号('*')匹配紧随其前字符的0次或多次出现。
  • 句点加星号(“.*”)匹配任何字符的0次或多次出现。

从 XML 读取字符串时(在作为表达式被解析以前),'\'被用作了转义字符,因此需要进行二次转义: 比如,'*' 应写成 "\\*" ,'\' 应写成 "\\\\" 。 这基本上和 Java 代码里构造字符串的写法相同。

关于这三种表达式的更多信息,请参阅 PatternMatcher 类中的 PATTERN_LITERAL、 PATTERN_PREFIX 和PATTERN_SIMPLE_GLOB 的说明。

0 0