Как выбрать каталог в Android API <21? - PullRequest
1 голос
/ 18 октября 2019

Может кто-нибудь сказать мне, как лучше всего позволить пользователю выбрать каталог с помощью средства выбора файлов Android в Android с API <21? Intent.ACTION_OPEN_DOCUMENT_TREE доступен с API 21, поэтому не может его использовать. Должен ли я сделать свой собственный «сборщик файлов» или использовать какую-то библиотеку для достижения этой цели?

1 Ответ

1 голос
/ 18 октября 2019

Ах, извините, используйте ACTION_GET_CONTENT, это поможет

Intent Intent = new Intent(Intent.ACTION_GET_CONTENT);
Intent.setType("*/*");
startActivityForResult(Intent, RESULT_CODE);

Для извлечения каталога

 @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == Statics.REQUEST_CODE && resultCode == RESULT_OK && data!=null)
        {
            Uri uri = data.getData();
}}

URI выдаст вам каталог файла в виде URI.

"Тамне является определяемым платформой намерением для выбора каталога файловой системы. ACTION_OPEN_DOCUMENT_TREE позволит пользователю выбирать дерево документов на Android 5.1+, но дерево документов не обязательно является каталогом файловой системы, так как ACTION_GET_CONTENT и ACTION_OPEN_DOCUMENT не обязательно включают файлы. "

Как получить путь к папке с помощью Intent на Android

...