Как работает Android Storage?
Чтобы обеспечить безопасность между приложениями Android, Android не давал вам прямой доступ ко всем файлам в системе хранения. У них есть то, что называется ContentProvider
.
Думайте об этом поставщике контента как официанте, чтобы ваши приложения могли запрашивать определенный файл / папку (через Content Uri).
Content Uri будет выглядеть так: content://[Authority]/[path]/[id]
это просто пример Content Uri. com.android.externalstorage.documents
является примером полномочий (для доступа к поставщикам внешних хранилищ).
Таким образом, в вашем случае ваш Uri предоставит вам доступ к каталогу подкастов в вашем внешнем хранилище.
Имея Uri, вы можете легко обмениваться данными между приложениями или поставщиком услуг, не передавая реальные файлы каждый раз, когда вы запрашиваете или даете один. Просто передайте легкий простой Ури.
Что произошло в вашем коде?
Если вам интересно, что происходит в вашем коде, попробуйте взглянуть на Reference .
Там написано:
Разрешить пользователю выбирать каталог поддерева. При вызове система отображает различные DocumentsProvider
экземпляры, установленные на устройстве, позволяя пользователю перемещаться по ним. Приложения могут полностью управлять документами в возвращенном каталоге.
Я не уверен, чего вы пытаетесь достичь (уточните, если можете, чтобы я мог помочь), но я надеюсь, что мой ответ содержит достаточно информации.