Как я могу получить доступ к файлам на USB-накопителе из моего приложения для Android. Устройство не рутировано. Я не хочу использовать структуру доступа к хранилищу. Можно ли получить путь к файлу с помощью API-интерфейсов Android USB Host. В устройствах Nexus и многих других поставщиков USB-накопитель не является подключенным хранилищем, поэтому к нему нельзя получить обычный доступ.
Доступ к файлам USB-накопителя в моем приложении для Android
comment
Требования и ограничения этого уже неоднократно рассматривались ранее.
- person Chris Stratton   schedule 25.05.2016
comment
Используйте структуру доступа к хранилищу для API-интерфейсов ›19. По API‹ см. Старые вопросы, которые уже задавались здесь. USB Host Apis вас не спасет.
- person petey   schedule 25.05.2016
comment
@Chris: Не могли бы вы поделиться ссылкой, где есть правильный ответ. Я не могу найти работоспособного ответа.
- person Praveen Pandey   schedule 25.05.2016
comment
@petey: спасибо за ваш комментарий. На самом деле я не хочу использовать SAF, потому что это повлияет на некоторые функции моего приложения. Мне нужно другое решение. Я вижу, что ES File Explorer может отображать файлы из USB-хранилища, и они не используют SAF. Мне интересно, какие API они использовали.
- person Praveen Pandey   schedule 25.05.2016
comment
Выполнено. Имейте в виду, что stackoverflow предназначен для конкретных вопросов. Он явно не должен использоваться для запроса кода для использования в проекте, а для доступа к запоминающему устройству через apis хоста потребуется много кода внутри вашего приложение.
- person Chris Stratton   schedule 25.05.2016
comment
@Chris: некоторые недоразумения, если вы можете уточнить. Когда подключен перьевой накопитель otg, я увидел, что мобильные телефоны LG отображают содержимое как обычную SD-карту в своей галерее и другом приложении. Немногие другие мобильные устройства обнаруживают его как внешнее хранилище, когда, но не отображают содержимое в галерее. И все остальные тоже не обнаруживаются как внешнее хранилище. Не могли бы вы объяснить это?
- person Praveen Pandey   schedule 23.06.2016
comment
Как объясняется по ссылке, Android не поддерживает это, но, предположительно, несмотря на то, что данный производитель устройства может добавлять нестандартные возможности к конкретному устройству.
- person Chris Stratton   schedule 23.06.2016
Ответы (1)
Если устройство Android поддерживает режим USB Host, вам необходимо иметь кабель USB OTG для подключения к флеш-накопителю. В этом кабеле есть линейный резистор, который подает сигнал контроллеру USB на устройстве Android о переходе в режим хоста.
Эти кабели можно приобрести во многих интернет-магазинах.
Короткий ответ: нет, только ваше приложение не может получить доступ к USB-устройству.
person
Justin Pearce
schedule
25.05.2016
Да, я использую только USB-накопитель OTG. ES File Explorer может обнаружить мой флеш-накопитель. Таким образом, мое приложение также должно иметь возможность читать и перечислять файлы, хотя я не могу найти, как заставить его работать.
- person Praveen Pandey; 25.05.2016
@PraveenPandey Первая ссылка в моем ответе, касающаяся USB-хоста, идет на Android API для обработки режима USB-хоста. В нем может быть вся необходимая информация.
- person Justin Pearce; 25.05.2016
Джастин, я через это прошел. Но здесь нет никакой информации о том, как вывести список файлов.
- person Praveen Pandey; 25.05.2016
Действительно, API-интерфейсы хоста ничего не знают о протоколе запоминающего устройства или файловых системах.
- person Chris Stratton; 25.05.2016