Algunas tabletas Android 2.x, como HTC Flyer y Samsung Galaxy Tab, admiten el almacenamiento interno de la tableta y una tarjeta SD externa. Por ejemplo, en mi Flyer, /sdcard
y /sdcard2
están separados, y el primero representa el "almacenamiento interno" de la tableta.¿Existe una forma documentada, en Android 2.x, de inspeccionar varias tarjetas SD para ver el contenido?
Si uso Environment.getExternalStorageDirectory()
, no parece haber ninguna regla para saber que será devuelto de esos lugares de almacenamiento. Al usar getExternalStorageDirectory()
, me preocupa que solo encuentre medios almacenados en una de las dos ubicaciones de almacenamiento.
Una solución es simplemente la exploración /sdcard*
difícil que el código en la aplicación, pero esto hace la suposición de que todos los dispositivos usar eso como un esquema de nombres, y no considero que una suposición segura.
¿Existe alguna manera documentada de escanear y usar varias ubicaciones de tarjeta/almacenamiento sd en Android 2.x?
Mi objetivo es en realidad para encontrar todos los libros de audio en la tableta, así que me gustaría encontrar y utilizar todos /sdcard*/Audiobooks
de alguna manera documentada.
Aha! Noté que/sdcard y/sdcard2 existen, pero no vi en adb que/sdcard2 apuntaba a/mnt/sdcard/ext_sd. ¡Gracias! –
Quiero reiterar lo que dijo; esto no está documentado, y no es estándar. Algunos fabricantes de dispositivos hacen esto. Algunos no. No puede contar con que se haga de esa manera, no puede contar con que el nombre de ese directorio sea consistente, etc. Actualmente, no hay una API estándar en la plataforma para esto. – hackbod
Sí, tienes razón. El nombre del directorio puede ser diferente en diferentes dispositivos. Pero los proveedores se ven obligados a colocar la segunda carpeta de tarjeta SD dentro de la primera carpeta de tarjeta SD para habilitar la compatibilidad con ambas tarjetas SD en aplicaciones que no conocen esa segunda tarjeta sd. Así que, básicamente, es seguro confiar en el hecho de que hay un directorio sdcard externo (incluso si se combinan dos o más sdcards físicas). – inazaruk