Можно ли указать "начальный путь" при использовании 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)
Могу ли я использовать какие-либо дополнения, чтобы указать это?
В API 26+ вы можете использовать DocumentsContract.EXTRA_INITIAL_URI, чтобы установить начальный каталог для намерения ACTION_OPEN_DOCUMENT_TREE. Обратите внимание, что URI должен быть получен из API Storage Access Framework (т. Е. Должен быть URI дерева документа).
Невозможно сделать это до API 26.
Если я впервые запускаю этот Intent, как мне получить "предыдущий" uri?
@ Джастин, ты нашел, как предоставить Ури в первый раз?
Но как получить первый URI? Мои клиенты испытывают серьезные проблемы с поиском того, где они хотят предоставить доступ, поскольку для большинства устройств требуется выбрать «Меню-> Показать SD-карту» или «Меню-> Показать внутреннее хранилище» при первом запуске средства выбора документов.