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



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

在 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)

相关内容

  • 没有找到相关文章

最新更新