Как открыть SAF (Storage Access Framework), чтобы выбрать хранилище, как на картинке?
Я пытался:
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
intent.putExtra(DocumentsContract.EXTRA_PROMPT, "Select path to save");
startActivityForResult(intent, PICK_FOLDER);
, но это открывает только Recent
, и пользователь должен нажать на ...
и Show Internal Storage
и после этого выберите, например, SDCard
или Internal Storage
. Это не удобно для пользователя.
Есть ли способ открыть вид как на картинке или нет? В Intent DocumentsContract.EXTRA_INITIAL_URI
есть дополнительные данные, но какое значение я могу добавить, чтобы показать открытый вид, как на картинке?
Я могу напрямую открыть primary storage
через:
StorageManager sm = (StorageManager) getSystemService(Context.STORAGE_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { //From Android 10+
startActivityForResult(sm.getPrimaryStorageVolume().createOpenDocumentTreeIntent(), PICK_FOLDER);
}
но я бы хотел открыть вид как на картинке.