Android开发-API指南-<grant-uri-permission>
<grant-uri-permission>
英文原文:http://developer.android.com/guide/topics/manifest/grant-uri-permission-element.html
采集(更新)日期:2014-6-30
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmug.html
- 语法:
-
<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
的说明。 - 星号('
-
- 引入自:
- API 级别 1
- 参阅:
-
<provider>
元素的grantUriPermissions
属性。