Начальный путь при использовании Intent.ACTION_OPEN_DOCUMENT_TREE

Можно ли указать "начальный путь" при использовании Intent.ACTION_OPEN_DOCUMENT_TREE?

Когда я использую это так:

 Intent chooseFolderIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
 startActivityForResult(Intent.createChooser(chooseFolderIntent, getString(R.string.save_to_directory)), CHOOSE_FOLDER_CODE);

Начинает показывать все папки из корня телефона. Но я бы хотел, чтобы он начал отображать определенный путь (например, папку DCIM)

Могу ли я использовать какие-либо дополнения, чтобы указать это?

7
0
1 044
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В API 26+ вы можете использовать DocumentsContract.EXTRA_INITIAL_URI, чтобы установить начальный каталог для намерения ACTION_OPEN_DOCUMENT_TREE. Обратите внимание, что URI должен быть получен из API Storage Access Framework (т. Е. Должен быть URI дерева документа).

Невозможно сделать это до API 26.

Но как получить первый URI? Мои клиенты испытывают серьезные проблемы с поиском того, где они хотят предоставить доступ, поскольку для большинства устройств требуется выбрать «Меню-> Показать SD-карту» или «Меню-> Показать внутреннее хранилище» при первом запуске средства выбора документов.

Justin 11.04.2019 19:18

Если я впервые запускаю этот Intent, как мне получить "предыдущий" uri?

Sam Chen 03.09.2020 18:02

@ Джастин, ты нашел, как предоставить Ури в первый раз?

Akash Chaudhary 27.04.2021 09:49

Другие вопросы по теме