¿Cómo puedo leer datos de una unidad flash USB?

Estoy desarrollando una aplicación para google tv y me gustaría leer una imagen de una unidad flash USB conectado a google tv y mostrarlo en mi aplicación. Ya sé cómo mostrar la imagen pero no sé cómo leerlo desde el usb. He intentado con este código:

File imgFile = new File("sdcard/image/1.jpg"); 

Pero no funciona para el usb.

2 Solutions collect form web for “¿Cómo puedo leer datos de una unidad flash USB?”

No hay API pública para acceder a los dispositivos USB como un sistema de archivos. getExternalStorageDirectory() no es la solución.

Para abordar esta carencia, sugiero echar un vistazo a libmedia , una biblioteca diseñada como una caja de herramientas para ayudar a los desarrolladores a crear aplicaciones.

Tan simple como:

 VolumeManager volumeManager = new VolumeManager(); List<Volume> volumes = volumeManager.getVolumes(); Volume volume = volumes.get(0); // simplified File rootFolder = volume.getRoot(); File imgFile = new File(rootFolder, "image/1.jpg"); 

Creo que necesitas usar:

"/ SdCard / …." en lugar de "sdcard / …"

Si intenta "sdcard / .." se leerá desde el directorio de archivos de su aplicación, no la tarjeta SD que desee. Así que en su caso tratará de abrir "/data/data/your_project_package_structure/files/sdcard/image/1.jpg"

También puede ayudar a utilizar la variable de entorno para obtener el directorio de su almacenamiento externo / usb

 Uri u = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "blabla.xml")); 

Asegúrese de que con depuración y un explorador de archivos la ruta es correcta.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.