DocumentsProvider 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
文档提供程序的基类。
[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
- 继承
- 属性
注解
文档提供程序的基类。 文档提供程序提供对持久文件(例如存储在本地磁盘上的文件或云存储服务中的文件)的读取和写入访问权限。 若要创建文档提供程序,请扩展此类,实现抽象方法,并将其添加到清单,如下所示:
<manifest>
...
<application>
...
<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">
<intent-filter>
<action android:name="android.content.action.DOCUMENTS_PROVIDER" />
</intent-filter>
</provider>
...
</application>
</manifest>
定义提供程序时,必须使用 保护提供程序 android.Manifest.permission#MANAGE_DOCUMENTS
,这是只有系统才能获取的权限。 应用程序不能直接使用文档提供程序;它们必须经过 Intent#ACTION_OPEN_DOCUMENT
或 Intent#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.DocumentsProvider
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
构造函数
DocumentsProvider() | |
DocumentsProvider(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
CallingAttributionSource |
获取调用应用的归属源。 (继承自 ContentProvider) |
CallingAttributionTag |
返回发起当前线程上正在处理的请求的调用方的属性标记。 (继承自 ContentProvider) |
CallingPackage |
返回发起当前线程上正在处理的请求的调用方包名称。 (继承自 ContentProvider) |
CallingPackageUnchecked |
返回发起当前线程上正在处理的请求的调用方包名称。 (继承自 ContentProvider) |
Class |
返回此 |
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) |
方法
显式接口实现
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) |
文档提供程序的基类。 |