DocumentsProvider Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Clase base para un proveedor de documentos.
[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
- Herencia
- Atributos
Comentarios
Clase base para un proveedor de documentos. Un proveedor de documentos ofrece acceso de lectura y escritura a archivos duraderos, como archivos almacenados en un disco local o archivos en un servicio de almacenamiento en la nube. Para crear un proveedor de documentos, extienda esta clase, implemente los métodos abstractos y agréguelo al manifiesto de esta manera:
<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>
Al definir el proveedor, debe protegerlo con android.Manifest.permission#MANAGE_DOCUMENTS, que es un permiso que solo puede obtener el sistema. Las aplicaciones no pueden usar directamente un proveedor de documentos; deben pasar Intent#ACTION_OPEN_DOCUMENT por o Intent#ACTION_CREATE_DOCUMENT lo que requiere que un usuario navegue activamente y seleccione documentos. Cuando un usuario selecciona documentos a través de esa interfaz de usuario, el sistema emite permisos de URI estrechos a la aplicación solicitante.
<h3>Documentos</h3>
Un documento puede ser una secuencia que se puede abrir (con un tipo MIME específico) o un directorio que contenga documentos adicionales (con el Document#MIME_TYPE_DIR tipo MIME). Cada directorio representa la parte superior de un subárbol que contiene cero o más documentos, que pueden contener de forma recursiva aún más documentos y directorios.
Cada documento puede tener distintas funcionalidades, como se describe en Document#COLUMN_FLAGS. Por ejemplo, si un documento se puede representar como una miniatura, el proveedor puede establecer Document#FLAG_SUPPORTS_THUMBNAIL e implementar #openDocumentThumbnail(String, Point, CancellationSignal) para devolver esa miniatura.
Se hace referencia a cada documento de un proveedor de forma única por su Document#COLUMN_DOCUMENT_ID, que no debe cambiar una vez devuelto. Un único documento se puede incluir en varios directorios al responder a #queryChildDocuments(String, String[], String). Por ejemplo, un proveedor podría exponer una sola foto en varias ubicaciones: una vez en un directorio de ubicaciones geográficas y de nuevo en un directorio de fechas.
<h3>Roots</h3>
Todos los documentos se muestran a través de una o varias "raíces". Cada raíz representa la parte superior de un árbol de documentos que un usuario puede navegar. Por ejemplo, una raíz podría representar una cuenta o un dispositivo de almacenamiento físico. De forma similar a los documentos, cada raíz puede tener funcionalidades expresadas a través de Root#COLUMN_FLAGS.
Documentación de Java para android.provider.DocumentsProvider.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| Nombre | Description |
|---|---|
| DocumentsProvider() | |
| DocumentsProvider(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
| Nombre | Description |
|---|---|
| CallingAttributionSource |
Obtiene el origen de atribución de la aplicación que llama. (Heredado de ContentProvider) |
| CallingAttributionTag |
Devuelve la etiqueta de atribución del autor de la llamada que inició la solicitud que se está procesando en el subproceso actual. (Heredado de ContentProvider) |
| CallingPackage |
Devuelve el nombre del paquete del autor de la llamada que inició la solicitud que se está procesando en el subproceso actual. (Heredado de ContentProvider) |
| CallingPackageUnchecked |
Devuelve el nombre del paquete del autor de la llamada que inició la solicitud que se está procesando en el subproceso actual. (Heredado de ContentProvider) |
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Context |
Recupera el contexto en el que se ejecuta este proveedor. (Heredado de ContentProvider) |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsTemporary |
Devuelve true si esta instancia es un proveedor de contenido temporal. (Heredado de ContentProvider) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniPeerMembers |
Clase base para un proveedor de documentos. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ReadPermission |
Obsoletos.
Devuelve el nombre del permiso necesario para el acceso de solo lectura a este proveedor de contenido. -o bien- Cambie el permiso necesario para leer datos del proveedor de contenido. (Heredado de ContentProvider) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| WritePermission |
Obsoletos.
Devuelve el nombre del permiso necesario para el acceso de lectura y escritura a este proveedor de contenido. -o bien- Cambie el permiso necesario para leer y escribir datos en el proveedor de contenido. (Heredado de ContentProvider) |
Métodos
| Nombre | Description |
|---|---|
| ApplyBatch(IList<ContentProviderOperation>) |
Invalide esta opción para controlar las solicitudes para realizar un lote de operaciones, o la implementación predeterminada iterará en las operaciones y llamará a |
| ApplyBatch(String, IList<ContentProviderOperation>) |
Invalide esta opción para controlar las solicitudes para realizar un lote de operaciones, o la implementación predeterminada iterará en las operaciones y llamará a |
| AttachInfo(Context, ProviderInfo) |
Después de crear instancias, se llama a para informar al proveedor de contenido sobre sí mismo. (Heredado de ContentProvider) |
| BulkInsert(Uri, ContentValues[]) |
Invalide esta opción para controlar las solicitudes para insertar un conjunto de filas nuevas o la implementación predeterminada iterará los valores y llamará |
| Call(String, String, Bundle) |
Llame a un método definido por el proveedor. (Heredado de ContentProvider) |
| Call(String, String, String, Bundle) |
Llame a un método definido por el proveedor. (Heredado de ContentProvider) |
| Canonicalize(Uri) |
Implemente esto para admitir la canónicaización de URI que hacen referencia al proveedor de contenido. (Heredado de ContentProvider) |
| ClearCallingIdentity() |
Restablezca la identidad del IPC entrante en el subproceso actual. (Heredado de ContentProvider) |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| CopyDocument(String, String) |
Copie el documento solicitado o un árbol de documentos. |
| CreateDocument(String, String, String) |
Cree un nuevo documento y devuelva su recién generado |
| CreateWebLinkIntent(String, Bundle) |
Crea un remitente de intención para un vínculo web, si el documento es vinculable a la web. |
| Delete(Uri, Bundle) |
Implemente esto para controlar las solicitudes para eliminar una o varias filas. (Heredado de ContentProvider) |
| Delete(Uri, String, String[]) |
La implementación la proporciona la clase primaria. |
| DeleteDocument(String) |
Elimine el documento solicitado. |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dump(FileDescriptor, PrintWriter, String[]) |
Imprima el estado del proveedor en la secuencia especificada. (Heredado de ContentProvider) |
| DumpAsync(FileDescriptor, PrintWriter, String[]) |
Imprima el estado del proveedor en la secuencia especificada. Esto se invoca si ejecuta "adb shell dumpsys activity provider <provider_component_name>". (Heredado de ContentProvider) |
| EjectRoot(String) |
Expulsa la raíz. |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| FindDocumentPath(String, String) |
Busca la ruta de acceso canónica del documento solicitado. |
| GetDocumentMetadata(String) |
Devuelve los metadatos asociados al documento. |
| GetDocumentStreamTypes(String, String) |
Devuelve una lista de tipos MIME que se pueden transmitir mediante secuencias que coinciden con el filtro, que se puede pasar a |
| GetDocumentType(String) |
Devuelve el tipo MIME concreto del documento solicitado. |
| GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
| GetPathPermissions() |
Devuelve los permisos basados en la ruta de acceso necesarios para el acceso de lectura o escritura a este proveedor de contenido. (Heredado de ContentProvider) |
| GetStreamTypes(Uri, String) |
Llamado por un cliente para determinar los tipos de flujos de datos que admite este proveedor de contenido para el URI especificado. (Heredado de ContentProvider) |
| GetType(Uri) |
La implementación la proporciona la clase primaria. |
| GetTypeAnonymous(Uri) |
Una versión sin restricciones de getType, que no revela información confidencial |
| Insert(Uri, ContentValues, Bundle) |
Implemente esto para controlar las solicitudes para insertar una nueva fila. (Heredado de ContentProvider) |
| Insert(Uri, ContentValues) |
La implementación la proporciona la clase primaria. |
| IsChildDocument(String, String) |
Pruebe si un documento es descendiente (secundario, nieto, etc.) del elemento primario especificado. |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| MoveDocument(String, String, String) |
Mueva el documento solicitado o un árbol de documentos. |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| OnCallingPackageChanged() |
Se llama cada vez que el valor de |
| OnConfigurationChanged(Configuration) |
Lo llama el sistema cuando cambia la configuración del dispositivo mientras se ejecuta el componente. Tenga en cuenta que, a diferencia de las actividades, nunca se reinician otros componentes cuando cambia una configuración: siempre deben tratar los resultados del cambio, como al volver a recuperar recursos. En el momento en que se ha llamado a esta función, el objeto Resources se actualizará para devolver valores de recursos que coincidan con la nueva configuración. Para obtener más información, consulte Control de cambios en tiempo de ejecución. Siempre se llama a este método en el subproceso principal de la aplicación y no debe realizar operaciones largas. La implementación predeterminada del proveedor de contenido no hace nada. Invalide este método para realizar las acciones adecuadas. (Los proveedores de contenido no suelen preocuparse por cosas como la orientación de la pantalla, pero es posible que quieran conocer los cambios de configuración regional). Parámetros newConfig Configuration: la nueva configuración del dispositivo. Este valor no puede ser null. (Heredado de ContentProvider) |
| OnCreate() |
Implemente esta opción para inicializar el proveedor de contenido al iniciarse. (Heredado de ContentProvider) |
| OnLowMemory() |
Esto se llama cuando el sistema general se está ejecutando poco en la memoria y los procesos que se ejecutan activamente deben recortar su uso de memoria. Aunque el punto exacto en el que se llamará no está definido, por lo general se producirá cuando se hayan matado todos los procesos en segundo plano. Es decir, antes de llegar al punto de matar los procesos de hospedaje del servicio y la interfaz de usuario en primer plano que nos gustaría evitar matar. Siempre se llama a este método en el subproceso principal de la aplicación y no debe realizar operaciones largas. La implementación predeterminada del proveedor de contenido no hace nada. Las subclases pueden invalidar este método para realizar las acciones adecuadas. (Heredado de ContentProvider) |
| OnTrimMemory(TrimMemory) |
Se llama cuando el sistema operativo ha determinado que es un buen momento para que un proceso recorte la memoria innecesaria de su proceso. (Heredado de ContentProvider) |
| OpenAssetFile(Uri, String, CancellationSignal) |
La implementación la proporciona la clase primaria. |
| OpenAssetFile(Uri, String) |
La implementación la proporciona la clase primaria. |
| OpenDocument(String, String, CancellationSignal) |
Abra y devuelva el documento solicitado. |
| OpenDocumentThumbnail(String, Point, CancellationSignal) |
Abra y devuelva una miniatura del documento solicitado. |
| OpenFile(Uri, String, CancellationSignal) |
La implementación la proporciona la clase primaria. |
| OpenFile(Uri, String) |
La implementación la proporciona la clase primaria. |
| OpenFileHelper(Uri, String) |
Comodidad para las subclases que desean implementar |
| OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter) |
Una función auxiliar para implementar |
| OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal) |
La implementación la proporciona la clase primaria. |
| OpenTypedAssetFile(Uri, String, Bundle) |
La implementación la proporciona la clase primaria. |
| OpenTypedDocument(String, String, Bundle, CancellationSignal) |
Abra y devuelva el documento en un formato que coincida con el filtro de tipo MIME especificado. |
| Query(Uri, String[], Bundle, CancellationSignal) |
La implementación la proporciona la clase primaria. |
| Query(Uri, String[], String, String[], String, CancellationSignal) |
Implemente esto para controlar las solicitudes de consulta de los clientes con compatibilidad con la cancelación. (Heredado de ContentProvider) |
| Query(Uri, String[], String, String[], String) |
La implementación la proporciona la clase primaria. |
| QueryChildDocuments(String, String[], Bundle) |
Invalide este método para devolver los documentos secundarios contenidos en el directorio solicitado. |
| QueryChildDocuments(String, String[], String) |
Devuelve los documentos secundarios incluidos en el directorio solicitado. |
| QueryDocument(String, String[]) |
Devuelve metadatos para el único documento solicitado. |
| QueryRecentDocuments(String, String[], Bundle, CancellationSignal) |
Devuelve documentos modificados recientemente en la raíz solicitada. |
| QueryRecentDocuments(String, String[]) |
Devuelve documentos modificados recientemente en la raíz solicitada. |
| QueryRoots(String[]) |
Devuelve todas las raíces proporcionadas actualmente. |
| QuerySearchDocuments(String, String, String[]) |
Devuelve documentos que coinciden con la consulta especificada en la raíz solicitada. |
| QuerySearchDocuments(String, String[], Bundle) |
Devuelve documentos que coinciden con la consulta especificada en la raíz solicitada. |
| Refresh(Uri, Bundle, CancellationSignal) |
Implemente esto para admitir la actualización del contenido identificado por |
| RemoveDocument(String, String) |
Quita el documento solicitado o un árbol de documentos. |
| RenameDocument(String, String) |
Cambie el nombre de un documento existente. |
| RequireContext() |
Recupera un contexto que no acepta valores NULL en el que se ejecuta este proveedor; se pretende llamar a él después |
| RestoreCallingIdentity(ContentProvider+CallingIdentity) |
Restaure la identidad del IPC entrante en el subproceso actual a una identidad previamente devuelta por |
| RevokeDocumentPermission(String) |
Revoque las concesiones de permisos activos para el objeto especificado |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPathPermissions(PathPermission[]) |
Cambie el permiso basado en la ruta de acceso necesario para leer o escribir datos en el proveedor de contenido. (Heredado de ContentProvider) |
| SetReadPermission(String) |
Cambie el permiso necesario para leer datos del proveedor de contenido. Normalmente, esto se establece para usted a partir de su información de manifiesto cuando se crea por primera vez el proveedor. (Heredado de ContentProvider) |
| SetWritePermission(String) |
Cambie el permiso necesario para escribir datos en el proveedor de contenido. Normalmente, esto se establece para usted a partir de su información de manifiesto cuando se crea por primera vez el proveedor. (Heredado de ContentProvider) |
| Shutdown() |
Implemente esta opción para apagar la instancia de ContentProvider. (Heredado de ContentProvider) |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| Uncanonicalize(Uri) |
Quite la canónica de los URI canónicos devueltos anteriormente por |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Update(Uri, ContentValues, Bundle) |
Implemente esto para controlar las solicitudes para actualizar una o varias filas. (Heredado de ContentProvider) |
| Update(Uri, ContentValues, String, String[]) |
La implementación la proporciona la clase primaria. |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al tiempo de ejecución de interoperabilidad que se ha eliminado este mismo nivel administrado. (Heredado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Libera este Java del mismo nivel a menos que otra referencia administrada lo conserve. (Heredado de Object) |
| IJavaPeerable.Finalized() |
Notifica al tiempo de ejecución de interoperabilidad que se ha finalizado este mismo nivel administrado. (Heredado de Object) |
| IJavaPeerable.JniManagedPeerState |
Obtiene el estado que describe la relación entre este par administrado y su referencia de JNI. (Heredado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Establece el código hash de identidad de interoperabilidad para este Java del mismo nivel. (Heredado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Establece el estado del mismo nivel administrado y JNI para este Java del mismo nivel. (Heredado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Establece la referencia de objeto JNI usada por este par administrado. (Heredado de Object) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Clase base para un proveedor de documentos. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |