Share via


Context.GetExternalFilesDir(String) Método

Definición

Devuelve la ruta de acceso absoluta al directorio en el dispositivo de almacenamiento compartido o externo principal donde la aplicación puede colocar los 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

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 en el dispositivo de almacenamiento compartido o externo principal donde la aplicación puede colocar los archivos persistentes que posee. Estos archivos son internos para las aplicaciones y no suelen ser 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: <ul><li>Shared Storage puede no estar siempre 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 un dispositivo de almacenamiento compartido se emula (según lo determina Environment#isExternalStorageEmulated(File)), el 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.

android.os.Build.VERSION_CODES#KITKATA partir de , no se requieren permisos para leer o escribir en la ruta de acceso devuelta; siempre es accesible para la aplicación que realiza la llamada. 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 y 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 diferentes 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:

{

Documentación de Java 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 proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Se aplica a

Consulte también