Context.GetExternalFilesDirs(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 rutas de acceso absolutas a directorios específicos de la aplicación en todos los dispositivos de almacenamiento compartidos o externos donde la aplicación puede colocar archivos persistentes que posee.
[Android.Runtime.Register("getExternalFilesDirs", "(Ljava/lang/String;)[Ljava/io/File;", "GetGetExternalFilesDirs_Ljava_lang_String_Handler")]
public abstract Java.IO.File[]? GetExternalFilesDirs (string? type);
[<Android.Runtime.Register("getExternalFilesDirs", "(Ljava/lang/String;)[Ljava/io/File;", "GetGetExternalFilesDirs_Ljava_lang_String_Handler")>]
abstract member GetExternalFilesDirs : 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_PICTURES
o android.os.Environment#DIRECTORY_MOVIES
.
Devoluciones
las rutas de acceso absolutas a directorios específicos de la aplicación. Algunas rutas de acceso individuales pueden ser null
si ese almacenamiento compartido no está disponible actualmente. La primera ruta de acceso devuelta es la misma que #getExternalFilesDir(String)
.
- Atributos
Comentarios
Devuelve rutas de acceso absolutas a directorios específicos de la aplicación en todos los dispositivos de almacenamiento compartidos o externos donde la aplicación puede colocar archivos persistentes que posee. Estos archivos son internos de la aplicación 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: <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 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.
Los dispositivos de almacenamiento compartido que se devuelven aquí se consideran una parte estable del dispositivo, incluidas las ranuras de medios físicos bajo una cubierta protectora. Las rutas de acceso devueltas no incluyen dispositivos transitorios, como unidades flash USB conectadas a dispositivos portátiles.
Una aplicación puede almacenar datos en cualquiera o todos los dispositivos devueltos. Por ejemplo, una aplicación puede optar por almacenar archivos grandes en el dispositivo con el espacio más disponible, medida por StatFs
.
No se requieren permisos adicionales para que la aplicación que llama lea o escriba archivos en la ruta de acceso devuelta. El acceso de escritura fuera de estas rutas de acceso en dispositivos de almacenamiento externo secundarios no está disponible.
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.
Documentación de Java para android.content.Context.getExternalFilesDirs(java.lang.String)
.
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.