Lenguaje

ContentProvider.OpenAssetFile Método

Definición

Sobrecargas

Nombre Description
OpenAssetFile(Uri, String)

Esto es como #openFile, pero los proveedores que necesitan poder devolver subsecciones de archivos, a menudo activos dentro de su .

OpenAssetFile(Uri, String, CancellationSignal)

Esto es como #openFile, pero los proveedores que necesitan poder devolver subsecciones de archivos, a menudo activos dentro de su .

OpenAssetFile(Uri, String)

Esto es como #openFile, pero los proveedores que necesitan poder devolver subsecciones de archivos, a menudo activos dentro de su .

[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor

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 AssetFileDescriptor 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

Esto es como #openFile, pero los proveedores que necesitan poder devolver subsecciones de archivos, a menudo activos dentro de su .apk. Se puede llamar a este método desde varios subprocesos, como se describe en Procesos y subprocesos.

Si implementa esto, los clientes deben poder tratar estos segmentos de archivos, ya sea directamente con ContentResolver#openAssetFileDescriptoro mediante los métodos de nivel ContentResolver#openInputStream ContentResolver.openInputStream superior o ContentResolver#openOutputStream ContentResolver.openOutputStream .

El AssetFileDescriptor devuelto puede ser un par de canalización o socket para habilitar el streaming de datos.

Si va a implementar esto para devolver un archivo completo, debe crear assetFileDescriptor con para AssetFileDescriptor#UNKNOWN_LENGTH que sea compatible con las aplicaciones que no pueden controlar las subsecciones de archivos.

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.

Java documentación para android.content.ContentProvider.openAssetFile(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.OpenFile(Android.Net.Uri%2c+System.String)>
  • <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
  • GetType(Uri)

Se aplica a

OpenAssetFile(Uri, String, CancellationSignal)

Esto es como #openFile, pero los proveedores que necesitan poder devolver subsecciones de archivos, a menudo activos dentro de su .

[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor

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 AssetFileDescriptor 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

Esto es como #openFile, pero los proveedores que necesitan poder devolver subsecciones de archivos, a menudo activos dentro de su .apk. Se puede llamar a este método desde varios subprocesos, como se describe en Procesos y subprocesos.

Si implementa esto, los clientes deben poder tratar estos segmentos de archivos, ya sea directamente con ContentResolver#openAssetFileDescriptoro mediante los métodos de nivel ContentResolver#openInputStream ContentResolver.openInputStream superior o ContentResolver#openOutputStream ContentResolver.openOutputStream .

El AssetFileDescriptor devuelto puede ser un par de canalización o socket para habilitar el streaming de datos.

Si va a implementar esto para devolver un archivo completo, debe crear assetFileDescriptor con para AssetFileDescriptor#UNKNOWN_LENGTH que sea compatible con las aplicaciones que no pueden controlar las subsecciones de archivos.

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.

Java documentación para android.content.ContentProvider.openAssetFile(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.OpenFile(Android.Net.Uri%2c+System.String)>
  • <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
  • GetType(Uri)

Se aplica a