Как прочитать USB OTG на Android 11

#android #usb-otg

#Android #usb-otg

Вопрос:

Я хочу прочитать OTG USB на Android 11, я могу перечислить такие файлы на Android 9 :

 val path = File("/storage")
 

Я могу перечислить файлы из внешней памяти в Android 11, но не USB OTG :

 val path = Environment.getExternalStorageDirectory()
 

Вопрос в том, почему я могу читать внешнюю память, но не OTG USB на Android 11?
Я хочу иметь возможность читать USB OTG на Android 11.

Комментарии:

1. The question is why can I read the sd card / хранилище не является съемной картой Micro sd. Кроме того, вы не можете читать / хранить.

2. The question is why can I read the sd card Это внешняя память, которая находится в вашем устройстве. Это связано со съемной картой Micro SD.

3. Можете ли вы уже перечислить со съемной карты Micro sd? Хорошо, если вы вставили его..

4. why can I read external memory but not OTG USB on Android 11 ? Ну, вы используете путь к внешней памяти. Так что неудивительно.. Я думаю, вам следует еще раз перефразировать свою проблему.

Ответ №1:

Используйте getExternalFilesDirs(null) или ACTION_OPEN_DOCUMENT_TREE .

getExternalFilesDirs() вернет один, два или три элемента в зависимости от вставленной съемной карты Micro sd и подключенного USB otg-накопителя.

Вы получаете путь к разделам, удаляя каталог Android и далее по полученным путям.

Обновить. Я раньше не подключал USB-накопитель к своему трехдневному устройству Android 11.

К сожалению, это не было упомянуто в getExternalFilesDirs(), что имело место в более низких версиях Android. Карта Micro SD есть.

Но .. полный доступ с помощью SAF с. ACTION_OPEN_DOCUMENT_TREE Можно даже выбрать корень диска.

Комментарии:

1. Спасибо! Я использовал getExternalFilesDirs(null), он работал на устройстве Huawei, но по какой-то причине он не показывает путь к USB OTG pen drive в устройстве Google Pixel. есть идеи, почему? оба имеют одинаковую версию.

2. ACTION_OPEN_DOCUMENT_TREE

3. Я использую ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION Я не хочу использовать ACTION_OPEN_DOCUMENT_TREE, потому что я хочу настроить свое приложение для управления файлами.

4. Что ж, если к usb-накопителю otg можно получить доступ только с помощью saf, тогда вам придется использовать saf. Чтобы доступ ко всем файлам не открывал для вас этот диск внезапно. И если вы создаете приложение для управления файлами, вам также следует добавить saf explorer.

5. Понял! Спасибо!