Как я могу разрешить пользователям доступ к каталогу внутреннего хранилища моего приложения?
Мое приложение хранит файлы в своем внутреннем каталоге хранения (/Android/data/com.mycompany.myapp/files, возвращаемом getFilesDir ()), и я хотел бы разрешить пользователям получать доступ к этим файлам непосредственно из приложения для управления файлами на их мобильное устройство или приложение для передачи файлов Android на рабочем столе.
Руководство разработчика опций хранения говорит:
По умолчанию файлы, сохраненные во внутреннем хранилище, являются частными для вашего приложения, и другие приложения не могут получить к ним доступ (равно как и пользователь).
«По умолчанию» подразумевает, что я могу изменить разрешения по умолчанию, чтобы разрешить пользователям доступ к этим файлам, но я не могу найти документацию о том, как это сделать. В настоящее время каталог com.mycompany.myapp скрыт, когда я просматриваю каталог / Android / data с помощью приложения для управления файлами.
В настоящее время я сохраняю данные файла следующим образом:
String fileName = "myfile.jpg";
String filePath = getFilesDir() + File.separator + fileName;
FileOutputStream fileStream = new FileOutputStream(filePath);
fileData.writeTo(fileStream); // fileData is a ByteArrayOutputStream
fileStream.close();
Я попытался установить права доступа к отдельным файлам для чтения, но это не сделало каталог видимым:
FileOutputStream fileStream = this.app.openFileOutput(fileName, Context.MODE_WORLD_READABLE);
Я также проверил документацию для файла AndroidManifest и там ничего не увидел. Кто-нибудь знает, как я могу это сделать?