Jan 282014
 

Los dispositivos Android disponen de un almacenamiento, denominado la ‘sdcard‘ que hace las veces de disco duro. Ahí se guardan las aplicaciones, los datos e incluso el sistema operativo. Para acceder al contenido de la sdcard se utiliza el método ‘getExternalStorageDirectory()‘ de la clase Environment

En cambio, cuando el dispositivo lleva una tarjeta de memoria adicional, no está estandarizada la manera de acceder a ella. Cada fabricante la monta en un directorio diferente. Una posible forma de arreglar el problema es el método ‘getSecondaryStorageDirectories()‘ que os proponemos a continuación. Si bien no es un método muy ortodoxo, en los dispositivos Android que tengo a mi alcance ha funcionado perfectamente. El código del método propuesto es el siguiente:

Lleva añadidas algunas sentencias ‘Log‘ para facilitar su exploración. Hay que destacar la forma en que se discriminan los dispositivos USB. También es interesante el método ‘System.getenv()’ que nos permite explorar las variables del sistema [1]. La sentencia System.getenv(“SECONDARY_STORAGE”) nos devuelve una cadena con una serie de paths separados por dos puntos. De ahí la necesidad de discriminar los USB.

Para realizar el método getSecondaryStorageDirectories() he consultado varias páginas de internet, pero sin duda la que más me ha abierto los ojos ha sido esta de StackOverflow.

[1] Vease en ese sentido el artículo ‘System.getenv() Method – System Environment Variables’ de Dr. Herong Yang



Santiago Higuera (28 enero 2014)

Sorry, the comment form is closed at this time.