Как я могу прочитать данные с флэш-накопителя USB? - PullRequest
5 голосов
/ 22 марта 2012

Я разрабатываю приложение для Google TV, и я хотел бы прочитать изображение с USB-накопителя, подключенного к Google TV, и показать его в своем приложении.Я уже знаю, как показать изображение, но я не знаю, как прочитать его с USB.Я пытался с этим кодом:

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

Но он не работает для USB.

Ответы [ 2 ]

1 голос
/ 06 марта 2013

Нет общедоступного API для доступа к USB-устройствам в качестве файловой системы. getExternalStorageDirectory() не является решением.

Чтобы устранить этот недостаток, я предлагаю взглянуть на libmedia , библиотеку, разработанную как набор инструментов, помогающий разработчикам создавать приложения.

Так же просто, как:

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");
1 голос
/ 23 марта 2012

Я думаю, вам нужно использовать:

"/ sdCard / ...." вместо "sdcard /..."

Если вы попробуете «sdcard / ..», он будет читать из каталога файлов вашего приложения, а не с SDCard, который вы хотите. Так что в вашем случае он попытается открыть «/data/data/your_project_package_structure/files/sdcard/image/1.jpg"

Также может помочь использование переменной Environment для получения каталога вашего внешнего хранилища / usb

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

Убедитесь, что с помощью отладчика и проводника файлов путь указан правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...