Context.GetExternalFilesDir(String) Método
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í.
Devuelve la ruta de acceso absoluta al directorio del dispositivo de almacenamiento compartido o externo principal donde la aplicación puede colocar archivos persistentes que posee.
[Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")]
public abstract Java.IO.File? GetExternalFilesDir(string? type);
[<Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")>]
abstract member GetExternalFilesDir : string -> Java.IO.File
Parámetros
- type
- String
Tipo de directorio de archivos que se va a devolver. Puede ser null para la raíz del directorio de archivos o una de las siguientes constantes para un subdirectorio: android.os.Environment#DIRECTORY_MUSIC, android.os.Environment#DIRECTORY_PODCASTS, android.os.Environment#DIRECTORY_RINGTONES, android.os.Environment#DIRECTORY_ALARMS, android.os.Environment#DIRECTORY_NOTIFICATIONS, android.os.Environment#DIRECTORY_PICTURESo android.os.Environment#DIRECTORY_MOVIES.
Devoluciones
la ruta de acceso absoluta al directorio específico de la aplicación. Puede devolver null si el almacenamiento compartido no está disponible actualmente.
- Atributos
Comentarios
Devuelve la ruta de acceso absoluta al directorio del dispositivo de almacenamiento compartido o externo principal donde la aplicación puede colocar archivos persistentes que posee. Estos archivos son internos para las aplicaciones y normalmente no son visibles para el usuario como medios.
Esto es como #getFilesDir() en que estos archivos se eliminarán cuando se desinstale la aplicación, pero hay algunas diferencias importantes: <es posible que ul><li>Shared Storage no siempre esté disponible, ya que el usuario puede expulsar los medios extraíbles. El estado multimedia se puede comprobar mediante Environment#getExternalStorageState(File).
<li>No hay ninguna seguridad aplicada con estos archivos. Por ejemplo, cualquier aplicación que contenga android.Manifest.permission#WRITE_EXTERNAL_STORAGE puede escribir en estos archivos.
</ul>
Si se emula un dispositivo de almacenamiento compartido (determinado por Environment#isExternalStorageEmulated(File)), su contenido está respaldado por una partición de datos de usuario privada, lo que significa que hay poca ventaja para almacenar datos aquí en lugar de los directorios privados devueltos por #getFilesDir(), etc.
A partir de android.os.Build.VERSION_CODES#KITKAT, no se requieren permisos para leer o escribir en la ruta de acceso devuelta; siempre es accesible para la aplicación que llama. Esto solo se aplica a las rutas de acceso generadas para el nombre del paquete de la aplicación que llama. Para acceder a las rutas de acceso que pertenecen a otros paquetes android.Manifest.permission#WRITE_EXTERNAL_STORAGE o android.Manifest.permission#READ_EXTERNAL_STORAGE son necesarias.
En dispositivos con varios usuarios (como se describe en UserManager), cada usuario tiene su propio almacenamiento compartido aislado. Las aplicaciones solo tienen acceso al almacenamiento compartido para el usuario en el que se ejecutan.
La ruta de acceso devuelta puede cambiar con el tiempo si se insertan distintos medios de almacenamiento compartidos, por lo que solo se deben conservar las rutas de acceso relativas.
Este es un ejemplo de código típico para manipular un archivo en el almacenamiento compartido de una aplicación:
{
Java documentación para android.content.Context.getExternalFilesDir(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.