public final class DocumentsContract
extends Object
java.lang.Object | |
↳ | android.provider.DocumentsContract |
定义文档提供者与平台之间的合同。
要创建文档提供者,请扩展 DocumentsProvider
,它提供了此合同的基础实施。
所有的客户端应用程序,必须持有有效的URI权限授予访问文件,当用户通过进行选择通常发行 ACTION_OPEN_DOCUMENT
, ACTION_CREATE_DOCUMENT
, ACTION_OPEN_DOCUMENT_TREE
,或 StorageVolume.createAccessIntent
。
也可以看看:
Nested classes |
|
---|---|
class |
DocumentsContract.Document 与文档相关的常量,包括 |
class |
DocumentsContract.Root 与文档根相关的常量,包括 |
Constants |
|
---|---|
String |
EXTRA_ERROR 包含在目录 |
String |
EXTRA_EXCLUDE_SELF 在一个DocumentsUI中设置这个属性,使得一个包的根目录从根目录中被排除。 |
String |
EXTRA_INFO 包含在目录 |
String |
EXTRA_LOADING 表示文档提供程序仍在加载数据的目录 |
String |
EXTRA_ORIENTATION 包含在 |
String |
EXTRA_PROMPT 设置为意图时,覆盖DocumentsUI中的默认提示文本。 |
String |
PROVIDER_INTERFACE 意图操作用于识别 |
Public methods |
|
---|---|
static Uri |
buildChildDocumentsUri(String authority, String parentDocumentId) 构建代表文档提供程序中目标目录子项的URI。 |
static Uri |
buildChildDocumentsUriUsingTree(Uri treeUri, String parentDocumentId) 构建代表文档提供程序中目标目录子项的URI。 |
static Uri |
buildDocumentUri(String authority, String documentId) 在文档提供程序中构建代表目标 |
static Uri |
buildDocumentUriUsingTree(Uri treeUri, String documentId) 在文档提供程序中构建表示目标 |
static Uri |
buildRecentDocumentsUri(String authority, String rootId) 构建URI,表示文档提供程序中特定根的最近修改的文档。 |
static Uri |
buildRootUri(String authority, String rootId) 构建URI,代表文档提供者中给定的 |
static Uri |
buildRootsUri(String authority) 构建代表文档提供者根的URI。 |
static Uri |
buildSearchDocumentsUri(String authority, String rootId, String query) 构建URI,表示在文档提供程序中的特定根目录下搜索匹配文档。 |
static Uri |
buildTreeDocumentUri(String authority, String documentId) 构建URI,表示对给定的 |
static Uri |
copyDocument(ContentResolver resolver, Uri sourceDocumentUri, Uri targetParentDocumentUri) 复制给定的文件。 |
static Uri |
createDocument(ContentResolver resolver, Uri parentDocumentUri, String mimeType, String displayName) 用给定的MIME类型和显示名称创建一个新文档。 |
static boolean |
deleteDocument(ContentResolver resolver, Uri documentUri) 删除给定的文件。 |
static String |
getDocumentId(Uri documentUri) 从给定的URI中提取 |
static Bitmap |
getDocumentThumbnail(ContentResolver resolver, Uri documentUri, Point size, CancellationSignal signal) 返回代表给定URI处文档的缩略图。 |
static String |
getRootId(Uri rootUri) 从给定的URI中提取 |
static String |
getSearchDocumentsQuery(Uri searchDocumentsUri) 从 |
static String |
getTreeDocumentId(Uri documentUri) 从给定的URI中提取via |
static boolean |
isDocumentUri(Context context, Uri uri) 测试给定的URI是否代表由 |
static boolean |
isTreeUri(Uri uri) 测试给定的URI是否代表 |
static Uri |
moveDocument(ContentResolver resolver, Uri sourceDocumentUri, Uri sourceParentDocumentUri, Uri targetParentDocumentUri) 将给定的文档移动到新的父项下。 |
static boolean |
removeDocument(ContentResolver resolver, Uri documentUri, Uri parentDocumentUri) 从父目录中移除给定的文档。 |
static Uri |
renameDocument(ContentResolver resolver, Uri documentUri, String displayName) 更改现有文档的显示名称。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String EXTRA_ERROR
包含在目录getExtras()
中的可选字符串提供应显示给用户的错误消息。 例如,提供者可能希望指出发生了网络错误。 用户可以选择重试,从而产生新的查询。
常量值:“错误”
String EXTRA_EXCLUDE_SELF
在一个DocumentsUI中设置这个属性,使得一个包的根目录从根目录中被排除。
常量值:“android.provider.extra.EXCLUDE_SELF”
String EXTRA_INFO
包含在目录getExtras()
中的可选字符串,提供应向用户显示的信息性消息。 例如,提供者可能希望指出并非所有文档都可用。
常量值:“info”
String EXTRA_LOADING
表示文档提供程序仍在加载数据的目录getExtras()
包含的可选布尔标志。 例如,一个提供商已经返回了一些结果,但仍然在等待一个出色的网络请求。 加载完成后,提供者必须发送已更改的内容通知。
常量值:“加载”
String EXTRA_ORIENTATION
包含在 getExtras()
时,应该旋转返回的缩略图。
也可以看看:
常量值:“android.provider.extra.ORIENTATION”
String EXTRA_PROMPT
设置为意图时,覆盖DocumentsUI中的默认提示文本。
常量值:“android.provider.extra.PROMPT”
String PROVIDER_INTERFACE
意图操作用于识别DocumentsProvider
实例。 这用于<intent-filter>
的<provider>
。
常量值:“android.content.action.DOCUMENTS_PROVIDER”
Uri buildChildDocumentsUri (String authority, String parentDocumentId)
构建代表文档提供程序中目标目录子项的URI。 查询时,提供程序将返回零个或多个包含DocumentsContract.Document
定义的列的行。
Parameters | |
---|---|
authority |
String
|
parentDocumentId |
String : the document to return children for, which must be a directory with MIME type of MIME_TYPE_DIR . |
Returns | |
---|---|
Uri |
Uri buildChildDocumentsUriUsingTree (Uri treeUri, String parentDocumentId)
构建代表文档提供程序中目标目录子项的URI。 查询时,提供程序将返回零个或多个包含DocumentsContract.Document
定义的列的行。
但是,返回的URI不是直接访问目标目录,而是利用通过子树URI授予的访问权限,通常由ACTION_OPEN_DOCUMENT_TREE
返回。 目标目录必须是子树的后代(子,孙,等)。
这通常用于在用户选择的目录树下访问文档,因为它不需要用户单独确认每个新文档的访问权限。
Parameters | |
---|---|
treeUri |
Uri : the subtree to leverage to gain access to the target document. The target directory must be a descendant of this subtree. |
parentDocumentId |
String : the document to return children for, which the caller may not have direct access to, and which must be a directory with MIME type of MIME_TYPE_DIR . |
Returns | |
---|---|
Uri |
Uri buildDocumentUri (String authority, String documentId)
在文档提供程序中构建代表目标COLUMN_DOCUMENT_ID
URI。 查询时,提供者将返回一行,其中包含由DocumentsContract.Document
定义的DocumentsContract.Document
。
Parameters | |
---|---|
authority |
String
|
documentId |
String
|
Returns | |
---|---|
Uri |
Uri buildDocumentUriUsingTree (Uri treeUri, String documentId)
在文档提供程序中构建代表目标COLUMN_DOCUMENT_ID
URI。 查询时,提供程序将返回单行,其中的列由DocumentsContract.Document
定义。
但是,返回的URI不是直接访问目标文档,而是利用通过子树URI授予的访问权限,通常由ACTION_OPEN_DOCUMENT_TREE
返回。 目标文档必须是子树的后代(子孙,等等)。
这通常用于在用户选择的目录树下访问文档,因为它不需要用户单独确认每个新文档的访问权限。
Parameters | |
---|---|
treeUri |
Uri : the subtree to leverage to gain access to the target document. The target directory must be a descendant of this subtree. |
documentId |
String : the target document, which the caller may not have direct access to. |
Returns | |
---|---|
Uri |
Uri buildRecentDocumentsUri (String authority, String rootId)
构建URI,表示文档提供程序中特定根的最近修改的文档。 查询时,提供程序将返回零个或多个包含DocumentsContract.Document
定义的列的行。
Parameters | |
---|---|
authority |
String
|
rootId |
String
|
Returns | |
---|---|
Uri |
Uri buildRootUri (String authority, String rootId)
在文档提供程序中构建代表给定 COLUMN_ROOT_ID
URI。
Parameters | |
---|---|
authority |
String
|
rootId |
String
|
Returns | |
---|---|
Uri |
也可以看看:
Uri buildRootsUri (String authority)
构建代表文档提供者根的URI。 查询时,提供程序将返回一个或多个包含DocumentsContract.Root
定义的列的行。
Parameters | |
---|---|
authority |
String
|
Returns | |
---|---|
Uri |
也可以看看:
Uri buildSearchDocumentsUri (String authority, String rootId, String query)
构建URI,表示在文档提供程序中的特定根目录下搜索匹配文档。 查询时,提供程序将返回零个或多个包含DocumentsContract.Document
定义的列的行。
Parameters | |
---|---|
authority |
String
|
rootId |
String
|
query |
String
|
Returns | |
---|---|
Uri |
Uri buildTreeDocumentUri (String authority, String documentId)
构建URI,表示对给定的 COLUMN_DOCUMENT_ID
后代文档的访问。
Parameters | |
---|---|
authority |
String
|
documentId |
String
|
Returns | |
---|---|
Uri |
也可以看看:
Uri copyDocument (ContentResolver resolver, Uri sourceDocumentUri, Uri targetParentDocumentUri)
复制给定的文件。
Parameters | |
---|---|
resolver |
ContentResolver
|
sourceDocumentUri |
Uri : document with FLAG_SUPPORTS_COPY |
targetParentDocumentUri |
Uri : document which will become a parent of the source document's copy. |
Returns | |
---|---|
Uri |
the copied document, or null if failed. |
Uri createDocument (ContentResolver resolver, Uri parentDocumentUri, String mimeType, String displayName)
用给定的MIME类型和显示名称创建一个新文档。
Parameters | |
---|---|
resolver |
ContentResolver
|
parentDocumentUri |
Uri : directory with FLAG_DIR_SUPPORTS_CREATE |
mimeType |
String : MIME type of new document |
displayName |
String : name of new document |
Returns | |
---|---|
Uri |
newly created document, or null if failed |
boolean deleteDocument (ContentResolver resolver, Uri documentUri)
删除给定的文件。
Parameters | |
---|---|
resolver |
ContentResolver
|
documentUri |
Uri : document with FLAG_SUPPORTS_DELETE |
Returns | |
---|---|
boolean |
if the document was deleted successfully. |
String getDocumentId (Uri documentUri)
从给定的URI中提取 COLUMN_DOCUMENT_ID
。
Parameters | |
---|---|
documentUri |
Uri
|
Returns | |
---|---|
String |
也可以看看:
Bitmap getDocumentThumbnail (ContentResolver resolver, Uri documentUri, Point size, CancellationSignal signal)
返回代表给定URI处文档的缩略图。 调用者负责他们自己的内存中缓存。
Parameters | |
---|---|
resolver |
ContentResolver
|
documentUri |
Uri : document to return thumbnail for, which must have FLAG_SUPPORTS_THUMBNAIL set. |
size |
Point : optimal thumbnail size desired. A provider may return a thumbnail of a different size, but never more than double the requested size. |
signal |
CancellationSignal : signal used to indicate if caller is no longer interested in the thumbnail. |
Returns | |
---|---|
Bitmap |
decoded thumbnail, or null if problem was encountered. |
String getRootId (Uri rootUri)
从给定的URI中提取 COLUMN_ROOT_ID
。
Parameters | |
---|---|
rootUri |
Uri
|
Returns | |
---|---|
String |
String getSearchDocumentsQuery (Uri searchDocumentsUri)
从 buildSearchDocumentsUri(String, String, String)
构建的URI中提取搜索查询。
Parameters | |
---|---|
searchDocumentsUri |
Uri
|
Returns | |
---|---|
String |
String getTreeDocumentId (Uri documentUri)
从给定的URI中提取via COLUMN_DOCUMENT_ID
。
Parameters | |
---|---|
documentUri |
Uri
|
Returns | |
---|---|
String |
boolean isDocumentUri (Context context, Uri uri)
测试给定的URI是否代表由 DocumentsContract.Document
支持的 DocumentsProvider
。
Parameters | |
---|---|
context |
Context
|
uri |
Uri
|
Returns | |
---|---|
boolean |
boolean isTreeUri (Uri uri)
测试给定的URI是否代表 DocumentsContract.Document
树。
Parameters | |
---|---|
uri |
Uri
|
Returns | |
---|---|
boolean |
Uri moveDocument (ContentResolver resolver, Uri sourceDocumentUri, Uri sourceParentDocumentUri, Uri targetParentDocumentUri)
将给定的文档移动到新的父项下。
Parameters | |
---|---|
resolver |
ContentResolver
|
sourceDocumentUri |
Uri : document with FLAG_SUPPORTS_MOVE |
sourceParentDocumentUri |
Uri : parent document of the document to move. |
targetParentDocumentUri |
Uri : document which will become a new parent of the source document. |
Returns | |
---|---|
Uri |
the moved document, or null if failed. |
boolean removeDocument (ContentResolver resolver, Uri documentUri, Uri parentDocumentUri)
从父目录中移除给定的文档。
与deleteDocument(ContentResolver, Uri)
相比,它需要指定父级。 如果文档可以在多个父母中,则此方法特别有用。
Parameters | |
---|---|
resolver |
ContentResolver
|
documentUri |
Uri : document with FLAG_SUPPORTS_REMOVE |
parentDocumentUri |
Uri : parent document of the document to remove. |
Returns | |
---|---|
boolean |
true if the document was removed successfully. |
Uri renameDocument (ContentResolver resolver, Uri documentUri, String displayName)
更改现有文档的显示名称。
如果底层提供者需要创建一个新的COLUMN_DOCUMENT_ID
来表示更新后的显示名称,则返回该新文档并且原始文档不再有效。 否则,返回原始文档。
Parameters | |
---|---|
resolver |
ContentResolver
|
documentUri |
Uri : document with FLAG_SUPPORTS_RENAME |
displayName |
String : updated name for document |
Returns | |
---|---|
Uri |
the existing or new document after the rename, or null if failed. |