DocumentsProvider Clase

Definición

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
DocumentsProvider
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:

&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;

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 Objectobjeto .

(Heredado de Object)
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 ContentProviderOperation#apply en cada una de ellas.

(Heredado de ContentProvider)
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 ContentProviderOperation#apply en cada una de ellas.

(Heredado de ContentProvider)
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á #insert a en cada una de ellas.

(Heredado de ContentProvider)
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 Document#COLUMN_DOCUMENT_ID.

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 #openTypedDocument(String, String, Bundle, CancellationSignal).

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 #getCallingPackage() cambia, lo que proporciona al proveedor la oportunidad de invalidar cualquier almacenamiento en caché relacionado con la seguridad que pueda realizar.

(Heredado de ContentProvider)
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 #openFile mediante la búsqueda de una columna denominada "_data" en el URI especificado.

(Heredado de ContentProvider)
OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter)

Una función auxiliar para implementar #openTypedAssetFile, para crear una canalización de datos y un subproceso en segundo plano, lo que le permite transmitir los datos generados de vuelta al cliente.

(Heredado de ContentProvider)
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 uri.

(Heredado de ContentProvider)
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 #onCreatede .

(Heredado de ContentProvider)
RestoreCallingIdentity(ContentProvider+CallingIdentity)

Restaure la identidad del IPC entrante en el subproceso actual a una identidad previamente devuelta por #clearCallingIdentity.

(Heredado de ContentProvider)
RevokeDocumentPermission(String)

Revoque las concesiones de permisos activos para el objeto especificado Document#COLUMN_DOCUMENT_ID, normalmente se llama cuando un documento deja de ser válido.

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 #canonicalize.

(Heredado de ContentProvider)
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 self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

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 self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a