我的应用。失败了:
File temp = File.createTempFile(“mediaplayertmp”, “dat”);
抛出“Permission denied”
例外。
为什么会发生这种情况?
听起来我需要更改某种Java设置来指定“remp
”文件夹。
谢谢!
答案 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权限。