Как получить путь к файлу с устройства, выступающего в качестве USB-накопителя в Android

Я пытаюсь получить имена файлов (а также путь к файлу) с устройства Garmin, которое действует как запоминающее устройство USB. При подключении устройства к компьютеру путь к файлу — G:\Garmin. Подключив его к планшету Android с помощью OTG и Explorer (я проверил настройки приложения — имя пакета: com.android.rk), путь к файлу — USB/Garmin. Используя ES File Explorer, я увидел, что путь к файлу — mnt/usb_storage/Garmin. Итак, в коде, когда я пытаюсь проанализировать system.xml из пути к файлу usb_storage/Garmin, я указал путь к файлу следующим образом:

String file = Environment.getExternalStorageDirectory() + "mnt/usb_storage/Garmin/system.xml";

Когда я запускаю приложение, оно падает, то есть не может найти файл system.xml. Правильно ли я использую Environment.getExternalStorageDirectory(), когда ищу файл на USB-устройстве, подключенном через OTG? Не могли бы вы указать мне, что нужно сделать? Большое спасибо.


person user3201441    schedule 18.05.2015    source источник


Ответы (2)


Используя Environment.getExternalStorageDirectory(), вы фактически указываете свою SD-карту или внутреннюю память (в зависимости от того, что установлено в качестве текущей) и под ней ищете точку подключения устройства.

Но точки монтирования в Unix видны на корневом уровне.
Поэтому вместо этого попробуйте напрямую /mnt/usb_storage/Garmin/system.xml.

person Phantômaxx    schedule 18.05.2015
comment
Спасибо, я приму это, как только смогу, так как вы были первым, кто сказал это через комментарий. Еще раз спасибо ^_^ - person user3201441; 18.05.2015

String file = Environment.getExternalStorageDirectory() + "mnt/usb_storage/Garmin/system.xml";

Ты имеешь в виду:

String fileName = "/mnt/usb_storage/Garmin/system.xml";

Это все. Обратите внимание, что tne /mnt/... поэтому НЕ mnt/...

person greenapps    schedule 18.05.2015
comment
Чувак.. ты такой быстрый ;-). - person greenapps; 18.05.2015
comment
Но вы двое очень хороши. Большое спасибо - person user3201441; 18.05.2015