ACTION_OPEN_DOCUMENT_TREE создание файла
Запускаю Intent.ACTION_OPEN_DOCUMENT_TREE с флагами для получения доступа на запись и чтение каталога:
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
intent.setType("*/*");
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION
| Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
startActivityForResult(intent, REQUEST_FOLDER_ACCESS);
В onActivityResult() ловлю так:
ContentResolver cr = context.getContentResolver();
Uri uriFolder = intent.getData();
int takeFlags = data.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION |
Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
cr.takePersistableUriPermission(uriFolder, takeFlags);
В итоге получаю разрешение на чтение и запись к каталогу uriFolder, далее пытаюсь записать в этот каталог файл:
Uri uriFile = Uri.withAppendedPath(uriFolder, "filename.txt");
OutputStream os = cr.openOutputStream(uriFile, "w");
И при открытии потока на запись нарываюсь на IllegalArgumentException, который показывает на MalformedUri
Что я делаю не так?