android - 在没有 SD 卡的应用程序之间共享临时文件

标签 android file file-io permissions

如果我在我的应用程序的缓存目录中创建一个临时文件,我不能,例如,将它作为附件通过电子邮件发送。这是因为其他应用没有读取该文件的权限。

在 API 9 及更高版本中,我可以使用 setReadable(true, false) 将文件设置为全局可读。不幸的是,我的目标是 API 级别 7+。我不想依赖 SD 卡的存在,所以我不能使用 getExternalStorageDir() 返回的位置来存储它,以防卡不存在。

即使在没有 SD 卡的情况下,我如何才能以有效的方式生成和共享临时文件?

最佳答案

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)

关于android - 在没有 SD 卡的应用程序之间共享临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6066589/

相关文章:

android - Android 回收器 View 中的最大项目数

c - 如何将输入文件中的单词放入数组?

c - 无法在屏幕上打印文件内容

c++ - 在其他文件中复制同时包含字符串和整数的文件,但顺序相反

android - android 中的回收器 View 中的 header 很少

Java Android - 按下按钮时调用 URL,无需打开浏览器

C文件处理记录搜索: last record displayed twice

c - C 中的分割文件错误在 readfile 中获取缓冲区

Android 小部件按钮自定义对话框

javascript - 带有警报的 onchange 在 ie 中不起作用