Мое приложение хранит файлы во внутреннем каталоге хранилища (/Android/data/com.mycompany.myapp/files, как было возвращено getFilesDir()), и я хотел бы разрешить пользователям обращаться к этим файлам непосредственно из управления файлами приложение на своем мобильном устройстве или приложение Android File Transfer для рабочего стола.
Руководство разработчика для опций хранилища говорит:
По умолчанию файлы, сохраненные во внутреннем хранилище, являются приватными для вашего приложения, а другие приложения не могут получить к ним доступ (а также не могут).
"По умолчанию" означает, что я могу изменить разрешения по умолчанию, чтобы позволить пользователям получать доступ к этим файлам, но я не могу найти документацию о том, как это сделать. В настоящее время каталог 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 и ничего там не видел. Кто-нибудь знает, как я могу это сделать?