android 临时文件,在Android上创建临时文件的最佳方法是什么?
好吧,这并不是一个问题,因为我并没有真正“卡住”我的代码,但是我发现AndroidAPI在访问外部存储设备和File.createTempFile()方法方面有些奇怪的行为, d想了解正在发生的事情…请注意,我的清单 中不 包含android:name="android.permission.WRITE_EXTERNAL_STORAGE">。第1部分 :我有以下代码,它 确实可以 发挥作用:
好吧,这并不是一个问题,因为我并没有真正“卡住”我的代码,但是我发现Android
API在访问外部存储设备和File.createTempFile()方法方面有些奇怪的行为, d想了解正在发生的事情…
请注意,我的清单 中不 包含
android:name="android.permission.WRITE_EXTERNAL_STORAGE">。
第1部分 :
我有以下代码,它 确实可以 发挥作用:
File tempFile = new File(Environment.getExternalStorageDirectory(),
"my_temp_file.png");
它会为我创建一个临时文件,并且我可以毫无问题地在其中写入数据。
问题1 :为什么该功能有效,因为我不应该拥有SD卡的写入权限?
第2部分 :
我试图将代码更改为使用createTempFile创建临时文件的官方方法。所以我尝试了:
File tempFile = File.createTempFile("my_temp", "png",
Environment.getExternalStorageDirectory());
并在 manifest.xml 中添加了 WRITE_EXTERNAL_STORAGE 。你猜怎么了
?这不起作用,我得到了java.io.IOException:
09-07 14:07:29.061: E/_CLOG(19982): java.io.IOException: Permission denied
09-07 14:07:29.061: E/_CLOG(19982): at java.io.File.createNewFileImpl(Native Method)
09-07 14:07:29.061: E/_CLOG(19982): at java.io.File.createNewFile(File.java:1257)
09-07 14:07:29.061: E/_CLOG(19982): at java.io.File.createTempFile(File.java:1322)
09-07 14:07:29.061: E/_CLOG(19982): at com.(...).onClick(ProfileImageUpdater.java:58)
问题2 :为什么这行不通,而恕我直言应该行?
更多推荐
所有评论(0)