如果我在应用程序的缓存目录中创建临时文件,我不能将其作为附件发送。这是因为其他应用程序没有读取文件的权限。
在API 9及更高版本中,我可以使用setReadable(true,false)将文件设置为全局可读。不幸的是,我的目标是API级别7+。我不想依赖SD卡的存在,因此我不能使用getExternalStorageDir()返回的位置来存储它以防万一没有卡。
即使没有SD卡,如何以可行的方式生成和共享临时文件?
答案 0 :(得分:8)
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();