ContentProvider.OpenFile Método

Definición

Sobrecargas

Nombre Description
OpenFile(Uri, String)

Invalide esta opción para controlar las solicitudes para abrir un blob de archivos.

OpenFile(Uri, String, CancellationSignal)

Invalide esta opción para controlar las solicitudes para abrir un blob de archivos.

OpenFile(Uri, String)

Invalide esta opción para controlar las solicitudes para abrir un blob de archivos.

[Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Handler")]
public virtual Android.OS.ParcelFileDescriptor? OpenFile(Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Handler")>]
abstract member OpenFile : Android.Net.Uri * string -> Android.OS.ParcelFileDescriptor
override this.OpenFile : Android.Net.Uri * string -> Android.OS.ParcelFileDescriptor

Parámetros

uri
Uri

Identificador URI cuyo archivo se va a abrir.

mode
String

Representación de cadena del modo de archivo. Puede ser "r", "w", "wt", "wa", "rw" o "rwt". Tenga en cuenta que la implementación exacta de estos puede diferir para cada implementación del proveedor; por ejemplo, "w" puede o no truncarse.

Devoluciones

Devuelve un nuevo Objeto ParcelFileDescriptor que puede usar para acceder al archivo.

Atributos

Excepciones

Produce FileNotFoundException si no hay ningún archivo asociado con el URI especificado o el modo no es válido.

Produce SecurityException si el autor de la llamada no tiene permiso para acceder al archivo.

Comentarios

Invalide esta opción para controlar las solicitudes para abrir un blob de archivos. La implementación predeterminada siempre produce FileNotFoundException. Se puede llamar a este método desde varios subprocesos, como se describe en Procesos y subprocesos.

Este método devuelve un objeto ParcelFileDescriptor, que se devuelve directamente al autor de la llamada. De este modo, se pueden devolver datos grandes (como imágenes y documentos) sin copiar el contenido.

El objeto ParcelFileDescriptor devuelto es propiedad del autor de la llamada, por lo que es su responsabilidad cerrarlo cuando haya terminado. Es decir, la implementación de este método debe crear un nuevo Objeto ParcelFileDescriptor para cada llamada.

Si se abre con los modos exclusivos "r" o "w", el objeto ParcelFileDescriptor devuelto puede ser un par de canalización o socket para habilitar el streaming de datos. La apertura con los modos "rw" o "rwt" implica un archivo en el disco que admite la búsqueda.

Si necesita detectar cuándo se ha cerrado el objeto ParcelFileDescriptor devuelto, o si el proceso remoto se ha bloqueado o ha encontrado algún otro error, puede usar ParcelFileDescriptor#open(File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener), ParcelFileDescriptor#createReliablePipe()o ParcelFileDescriptor#createReliableSocketPair().

Si necesita devolver un archivo grande que no está respaldado por un archivo real en el disco, como un archivo en un recurso compartido de red o un servicio de almacenamiento en la nube, considere la posibilidad de usar StorageManager#openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback, android.os.Handler) , lo que le permitirá transmitir el contenido a petición.

Para su uso en Intenciones, querrá implementar #getType para devolver el tipo MIME adecuado para los datos devueltos aquí con el mismo URI. Esto permitirá que la resolución de intenciones determine automáticamente el tipo MIME de datos y seleccione los destinos coincidentes adecuados como parte de su operación.

Para mejorar la interoperabilidad con otras aplicaciones, se recomienda que para los URI que se puedan abrir, también se admiten consultas en ellas que contengan al menos las columnas especificadas por android.provider.OpenableColumns. También puede admitir otras columnas comunes si tiene metadatos adicionales para proporcionar, como android.provider.MediaStore.MediaColumns#DATE_ADDED en android.provider.MediaStore.MediaColumns.

Java documentación para android.content.ContentProvider.openFile(android.net.Uri, java.lang.String).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Consulte también

  • <xref:Android.Content.ContentProvider.OpenAssetFile(Android.Net.Uri%2c+System.String)>
  • <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
  • GetType(Uri)
  • ParseMode(String)

Se aplica a

OpenFile(Uri, String, CancellationSignal)

Invalide esta opción para controlar las solicitudes para abrir un blob de archivos.

[Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")]
public virtual Android.OS.ParcelFileDescriptor? OpenFile(Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")>]
abstract member OpenFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.OS.ParcelFileDescriptor
override this.OpenFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.OS.ParcelFileDescriptor

Parámetros

uri
Uri

Identificador URI cuyo archivo se va a abrir.

mode
String

Representación de cadena del modo de archivo. Puede ser "r", "w", "wt", "wa", "rw" o "rwt". Tenga en cuenta que la implementación exacta de estos puede diferir para cada implementación del proveedor; por ejemplo, "w" puede o no truncarse.

signal
CancellationSignal

Señal para cancelar la operación en curso o null si no existe. Por ejemplo, si va a descargar un archivo de la red para atender una solicitud en modo "rw", debe llamar CancellationSignal#throwIfCanceled() periódicamente para comprobar si el cliente canceló la solicitud y anuló la descarga.

Devoluciones

Devuelve un nuevo Objeto ParcelFileDescriptor que puede usar para acceder al archivo.

Atributos

Excepciones

Produce FileNotFoundException si no hay ningún archivo asociado con el URI especificado o el modo no es válido.

Produce SecurityException si el autor de la llamada no tiene permiso para acceder al archivo.

Comentarios

Invalide esta opción para controlar las solicitudes para abrir un blob de archivos. La implementación predeterminada siempre produce FileNotFoundException. Se puede llamar a este método desde varios subprocesos, como se describe en Procesos y subprocesos.

Este método devuelve un objeto ParcelFileDescriptor, que se devuelve directamente al autor de la llamada. De este modo, se pueden devolver datos grandes (como imágenes y documentos) sin copiar el contenido.

El objeto ParcelFileDescriptor devuelto es propiedad del autor de la llamada, por lo que es su responsabilidad cerrarlo cuando haya terminado. Es decir, la implementación de este método debe crear un nuevo Objeto ParcelFileDescriptor para cada llamada.

Si se abre con los modos exclusivos "r" o "w", el objeto ParcelFileDescriptor devuelto puede ser un par de canalización o socket para habilitar el streaming de datos. La apertura con los modos "rw" o "rwt" implica un archivo en el disco que admite la búsqueda.

Si necesita detectar cuándo se ha cerrado el objeto ParcelFileDescriptor devuelto, o si el proceso remoto se ha bloqueado o ha encontrado algún otro error, puede usar ParcelFileDescriptor#open(File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener), ParcelFileDescriptor#createReliablePipe()o ParcelFileDescriptor#createReliableSocketPair().

Para su uso en Intenciones, querrá implementar #getType para devolver el tipo MIME adecuado para los datos devueltos aquí con el mismo URI. Esto permitirá que la resolución de intenciones determine automáticamente el tipo MIME de datos y seleccione los destinos coincidentes adecuados como parte de su operación.

Para mejorar la interoperabilidad con otras aplicaciones, se recomienda que para los URI que se puedan abrir, también se admiten consultas en ellas que contengan al menos las columnas especificadas por android.provider.OpenableColumns. También puede admitir otras columnas comunes si tiene metadatos adicionales para proporcionar, como android.provider.MediaStore.MediaColumns#DATE_ADDED en android.provider.MediaStore.MediaColumns.

Java documentación para android.content.ContentProvider.openFile(android.net.Uri, java.lang.String, android.os.CancellationSignal).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Consulte también

  • <xref:Android.Content.ContentProvider.OpenAssetFile(Android.Net.Uri%2c+System.String)>
  • <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
  • GetType(Uri)
  • ParseMode(String)

Se aplica a