Как составить список всех папок внутреннего хранилища в Android Q (уровень API 29)? - PullRequest
2 голосов
/ 25 апреля 2020

Я новичок в программировании и хочу создать файловый менеджер в android студии. После того, как getExteralStorageDirectory устарел, у меня возникли проблемы с перечислением всех папок устройств на уровне API 29.

1 Ответ

2 голосов
/ 25 апреля 2020

В соответствии с документацией вам придется использовать ACTION_OPEN_DOCUMENT_TREE . Это даст вам URI из выбранных directory, как только у вас будет URI, вы сможете получить доступ ко всем дочерним элементам этого directory. Из документов

Предоставление доступа к содержимому каталога

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

На github также есть пример приложения ActionOpenDocumentTree , в котором показано, как реализовать эту функцию.

...