Обмен временными файлами между приложениями без SD-карты - PullRequest
6 голосов
/ 20 мая 2011

Если я создаю временный файл в каталоге кэша моего приложения, я не могу, например, отправить его по электронной почте как вложение.Это связано с тем, что у другого приложения нет прав на чтение файла.

В API 9 и более поздних версиях я могу установить доступность файла для чтения с помощью setReadable (true, false).к сожалению, я нацеливаюсь на уровень API 7+.Я не хочу полагаться на наличие SD-карты, поэтому я не могу использовать местоположение, возвращаемое getExternalStorageDir (), для его хранения в случае отсутствия карты.

Как создать и поделитьсявременный файл, который будет работать даже при отсутствии SD-карты?

1 Ответ

8 голосов
/ 20 мая 2011
final String FILENAME = "file.tmp";
final String someData = "File data";

FileOutputStream fos = openFileOutput(FILENAME, 
                                      Context.MODE_WORLD_WRITEABLE | 
                                      Context.MODE_WORLD_READABLE);
fos.write(someData.getBytes());
fos.close();

http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String,%20int)

...