DocumentsProvider 类

定义

文档提供程序的基类。

[Android.Runtime.Register("android/provider/DocumentsProvider", DoNotGenerateAcw=true)]
public abstract class DocumentsProvider : Android.Content.ContentProvider
[<Android.Runtime.Register("android/provider/DocumentsProvider", DoNotGenerateAcw=true)>]
type DocumentsProvider = class
    inherit ContentProvider
继承
DocumentsProvider
属性

注解

文档提供程序的基类。 文档提供程序提供对持久文件(例如存储在本地磁盘上的文件或云存储服务中的文件)的读取和写入访问权限。 若要创建文档提供程序,请扩展此类,实现抽象方法,并将其添加到清单,如下所示:

&lt;manifest&gt;
               ...
               &lt;application&gt;
                   ...
                   &lt;provider
                       android:name="com.example.MyCloudProvider"
                       android:authorities="com.example.mycloudprovider"
                       android:exported="true"
                       android:grantUriPermissions="true"
                       android:permission="android.permission.MANAGE_DOCUMENTS"
                       android:enabled="@bool/isAtLeastKitKat"&gt;
                       &lt;intent-filter&gt;
                           &lt;action android:name="android.content.action.DOCUMENTS_PROVIDER" /&gt;
                       &lt;/intent-filter&gt;
                   &lt;/provider&gt;
                   ...
               &lt;/application&gt;
            &lt;/manifest&gt;

定义提供程序时,必须使用 保护提供程序 android.Manifest.permission#MANAGE_DOCUMENTS,这是只有系统才能获取的权限。 应用程序不能直接使用文档提供程序;它们必须经过 Intent#ACTION_OPEN_DOCUMENTIntent#ACTION_CREATE_DOCUMENT ,这需要用户主动导航和选择文档。 当用户通过该 UI 选择文档时,系统会向请求的应用程序发出窄 URI 权限授予。

<h3>Documents</h3>

文档可以是具有特定 MIME 类型) 的可打开流 (,也可以是包含 MIME 类型) Document#MIME_TYPE_DIR (的其他文档的目录。 每个目录都表示包含零个或多个文档的子树的顶部,这些文档以递归方式包含更多文档和目录。

每个文档可以具有不同的功能,如 所述 Document#COLUMN_FLAGS。 例如,如果文档可以表示为缩略图,则提供程序可以设置 Document#FLAG_SUPPORTS_THUMBNAIL 并实现 #openDocumentThumbnail(String, Point, CancellationSignal) 以返回该缩略图。

提供程序下的每个文档都由其 Document#COLUMN_DOCUMENT_ID唯一引用,返回后不得更改。 响应 #queryChildDocuments(String, String[], String)时,单个文档可以包含在多个目录中。 例如,提供商可能会在多个位置显示一张照片:一次出现在地理位置的目录中,一次出现在日期目录中。

<h3>根</h3>

所有文档都通过一个或多个“根”显示。 每个根都表示用户可以导航的文档树的顶部。 例如,根可以表示帐户或物理存储设备。 与文档类似,每个根都可以通过 Root#COLUMN_FLAGS表示功能。

android.provider.DocumentsProviderJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

构造函数

DocumentsProvider()
DocumentsProvider(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

CallingAttributionSource

获取调用应用的归属源。

(继承自 ContentProvider)
CallingAttributionTag

返回发起当前线程上正在处理的请求的调用方的属性标记。

(继承自 ContentProvider)
CallingPackage

返回发起当前线程上正在处理的请求的调用方包名称。

(继承自 ContentProvider)
CallingPackageUnchecked

返回发起当前线程上正在处理的请求的调用方包名称。

(继承自 ContentProvider)
Class

返回此 Object的运行时类。

(继承自 Object)
Context

检索运行此提供程序的上下文。

(继承自 ContentProvider)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsTemporary

如果此实例是临时内容提供程序,则返回 true。

(继承自 ContentProvider)
JniIdentityHashCode

文档提供程序的基类。

(继承自 Object)
JniPeerMembers

文档提供程序的基类。

PeerReference

文档提供程序的基类。

(继承自 Object)
ReadPermission
已过时.

返回对此内容提供程序进行只读访问所需的权限的名称。 - 或 - 更改从内容提供程序读取数据所需的权限。

(继承自 ContentProvider)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

WritePermission
已过时.

返回对此内容提供程序进行读/写访问所需的权限的名称。 - 或 - 更改在内容提供程序中读取和写入数据所需的权限。

(继承自 ContentProvider)

方法

ApplyBatch(IList<ContentProviderOperation>)

重写此项以处理执行一批操作的请求,或者默认实现将循环访问操作并调用 ContentProviderOperation#apply 每个操作。

(继承自 ContentProvider)
ApplyBatch(String, IList<ContentProviderOperation>)

重写此项以处理执行一批操作的请求,或者默认实现将循环访问操作并调用 ContentProviderOperation#apply 每个操作。

(继承自 ContentProvider)
AttachInfo(Context, ProviderInfo)

实例化后,调用此项可告知内容提供程序自身。

(继承自 ContentProvider)
BulkInsert(Uri, ContentValues[])

重写此项以处理插入一组新行的请求,或者默认实现将循环访问值并调用 #insert 每个值。

(继承自 ContentProvider)
Call(String, String, Bundle)

调用提供程序定义的方法。

(继承自 ContentProvider)
Call(String, String, String, Bundle)

调用提供程序定义的方法。

(继承自 ContentProvider)
Canonicalize(Uri)

实现此功能以支持引用内容提供程序的 URI 的规范化。

(继承自 ContentProvider)
ClearCallingIdentity()

重置当前线程上传入 IPC 的标识。

(继承自 ContentProvider)
Clone()

创建并返回此对象的副本。

(继承自 Object)
CopyDocument(String, String)

复制请求的文档或文档树。

CreateDocument(String, String, String)

创建新文档并返回其新生成的 Document#COLUMN_DOCUMENT_ID

CreateWebLinkIntent(String, Bundle)

如果文档是 Web 可链接的,则为 Web 链接创建意向发送方。

Delete(Uri, Bundle)

实现此操作可处理删除一行或多行的请求。

(继承自 ContentProvider)
Delete(Uri, String, String[])

实现由父类提供。

DeleteDocument(String)

删除请求的文档。

Dispose()

文档提供程序的基类。

(继承自 Object)
Dispose(Boolean)

文档提供程序的基类。

(继承自 Object)
Dump(FileDescriptor, PrintWriter, String[])

将提供程序的状态打印到给定流中。

(继承自 ContentProvider)
DumpAsync(FileDescriptor, PrintWriter, String[])

文档提供程序的基类。

(继承自 ContentProvider)
EjectRoot(String)

弹出根目录。

Equals(Object)

指示其他某个对象是否“等于”此对象。

(继承自 Object)
FindDocumentPath(String, String)

查找所请求文档的规范路径。

GetDocumentMetadata(String)

返回与文档关联的元数据。

GetDocumentStreamTypes(String, String)

返回与筛选器匹配的可流 MIME 类型列表,这些类型可以传递给 #openTypedDocument(String, String, Bundle, CancellationSignal)

GetDocumentType(String)

返回所请求文档的具体 MIME 类型。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetPathPermissions()

返回对此内容提供程序的读取和/或写入访问权限所需的基于路径的权限。

(继承自 ContentProvider)
GetStreamTypes(Uri, String)

由客户端调用,以确定此内容提供程序为给定 URI 支持的数据流类型。

(继承自 ContentProvider)
GetType(Uri)

实现由父类提供。

GetTypeAnonymous(Uri)

getType 的不受限制的版本,不会泄露敏感信息

GetTypeAnonymous(Uri)

实现此操作可处理 MIME 类型 URI 的请求,这些 URI 不需要透露应受任何权限保护的任何内部信息。

(继承自 ContentProvider)
Insert(Uri, ContentValues)

实现由父类提供。

Insert(Uri, ContentValues, Bundle)

实现此以处理插入新行的请求。

(继承自 ContentProvider)
IsChildDocument(String, String)

测试文档是否是给定父) (子、孙子等后代。

JavaFinalize()

当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。

(继承自 Object)
MoveDocument(String, String, String)

移动请求的文档或文档树。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
OnCallingPackageChanged()

每当值 #getCallingPackage() 更改时调用,使提供程序有机会使它可能执行的任何与安全相关的缓存失效。

(继承自 ContentProvider)
OnConfigurationChanged(Configuration)

要添加 此方法始终在应用程序main线程上调用,并且不得执行冗长的操作。

(继承自 ContentProvider)
OnCreate()

实现此操作以在启动时初始化内容提供程序。

(继承自 ContentProvider)
OnLowMemory()

要添加 此方法始终在应用程序main线程上调用,并且不得执行冗长的操作。

(继承自 ContentProvider)
OnTrimMemory(TrimMemory)

当操作系统确定现在是进程从其进程中剪裁不需要的内存的好时机时调用。

(继承自 ContentProvider)
OpenAssetFile(Uri, String)

实现由父类提供。

OpenAssetFile(Uri, String, CancellationSignal)

实现由父类提供。

OpenDocument(String, String, CancellationSignal)

打开并返回请求的文档。

OpenDocumentThumbnail(String, Point, CancellationSignal)

打开并返回所请求文档的缩略图。

OpenFile(Uri, String)

实现由父类提供。

OpenFile(Uri, String, CancellationSignal)

实现由父类提供。

OpenFileHelper(Uri, String)

通过查找给定 URI 中名为“_data”列来实现 #openFile 的子类的便利性。

(继承自 ContentProvider)
OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter)

一个帮助程序函数,用于实现 #openTypedAssetFile,用于创建数据管道和后台线程,使你能够将生成的数据流式传输回客户端。

(继承自 ContentProvider)
OpenTypedAssetFile(Uri, String, Bundle)

实现由父类提供。

OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal)

实现由父类提供。

OpenTypedDocument(String, String, Bundle, CancellationSignal)

打开并返回与指定 MIME 类型筛选器匹配的格式的文档。

Query(Uri, String[], Bundle, CancellationSignal)

实现由父类提供。

Query(Uri, String[], String, String[], String)

实现由父类提供。

Query(Uri, String[], String, String[], String, CancellationSignal)

实现此操作可处理来自支持取消的客户端的查询请求。

(继承自 ContentProvider)
QueryChildDocuments(String, String[], Bundle)

重写此方法可返回请求目录中包含的子文档。

QueryChildDocuments(String, String[], String)

返回请求的目录中包含的子文档。

QueryDocument(String, String[])

返回单个请求文档的元数据。

QueryRecentDocuments(String, String[])

在请求的根下返回最近修改的文档。

QueryRecentDocuments(String, String[], Bundle, CancellationSignal)

在请求的根下返回最近修改的文档。

QueryRoots(String[])

返回当前提供的所有根。

QuerySearchDocuments(String, String, String[])

返回与所请求根下给定查询匹配的文档。

QuerySearchDocuments(String, String[], Bundle)

返回与所请求根下给定查询匹配的文档。

Refresh(Uri, Bundle, CancellationSignal)

实现此功能以支持刷新标识 uri的内容。

(继承自 ContentProvider)
RemoveDocument(String, String)

删除请求的文档或文档树。

RenameDocument(String, String)

重命名现有文档。

RequireContext()

检索运行此提供程序的不可为 Null 上下文,此上下文应在 之后 #onCreate调用。

(继承自 ContentProvider)
RestoreCallingIdentity(ContentProvider+CallingIdentity)

将当前线程上传入的 IPC 的标识还原回以前由 #clearCallingIdentity返回的标识。

(继承自 ContentProvider)
RevokeDocumentPermission(String)

撤消对给定 Document#COLUMN_DOCUMENT_ID的任何活动权限授予,通常在文档变为无效时调用。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetPathPermissions(PathPermission[])

更改读取和/或写入内容提供程序中的数据所需的基于路径的权限。

(继承自 ContentProvider)
SetReadPermission(String)

文档提供程序的基类。

(继承自 ContentProvider)
SetWritePermission(String)

文档提供程序的基类。

(继承自 ContentProvider)
Shutdown()

实现此操作以关闭 ContentProvider 实例。

(继承自 ContentProvider)
ToArray<T>()

文档提供程序的基类。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
Uncanonicalize(Uri)

从之前由 #canonicalize返回的规范 URI 中删除规范化。

(继承自 ContentProvider)
UnregisterFromRuntime()

文档提供程序的基类。

(继承自 Object)
Update(Uri, ContentValues, Bundle)

实现此操作可处理更新一行或多行的请求。

(继承自 ContentProvider)
Update(Uri, ContentValues, String, String[])

实现由父类提供。

Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

文档提供程序的基类。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

文档提供程序的基类。

(继承自 Object)
IJavaPeerable.Finalized()

文档提供程序的基类。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

文档提供程序的基类。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

文档提供程序的基类。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

文档提供程序的基类。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

文档提供程序的基类。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

文档提供程序的基类。

GetJniTypeName(IJavaPeerable)

文档提供程序的基类。

适用于