createTempFile抛出“Permission denied”异常

时间:2011-01-17 15:46:41

标签: android eclipse

我的应用。失败了:

File temp = File.createTempFile(“mediaplayertmp”, “dat”);

抛出“Permission denied”例外。

为什么会发生这种情况? 听起来我需要更改某种Java设置来指定“remp”文件夹。

谢谢!

3 个答案:

答案 0 :(得分:5)

可能您没有足够的权限来写入外部存储目录。我不知道createTempFile需要这个(我认为它会在内部存储上,但不知道这一点),但我建议将WRITE_EXTERNAL_STORAGE权限添加到清单中,如下所示:

<manifest...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>

答案 1 :(得分:3)

我有同样的问题。对我来说,事实证明问题是我在开发过程中通过USB将我的Android设备插入我的PC,而SD卡在被其他设备安装时被锁定。一旦我拔下设备,它就可以了。您也可以告诉设备在插入时不要安装SD卡。

答案 2 :(得分:1)

由于AFAIK java.io.tmpdir配置的默认临时文件位置为/sdcard,因此您需要向清单添加WRITE_EXTERNAL_STORAGE权限。