我的应用程序。失败上线:createTempFile抛出“Permission denied”异常
File temp = File.createTempFile(“mediaplayertmp”, “dat”);
抛出“Permission denied”
异常。
为什么会出现这种情况? 这听起来像我需要改变某种Java设置来指定一个“remp
”文件夹。
谢谢!
我的应用程序。失败上线:createTempFile抛出“Permission denied”异常
File temp = File.createTempFile(“mediaplayertmp”, “dat”);
抛出“Permission denied”
异常。
为什么会出现这种情况? 这听起来像我需要改变某种Java设置来指定一个“remp
”文件夹。
谢谢!
这可能是你没有足够的权限写入到外部存储目录。我不知道createTempFile
需要这个(我认为这将是对内部存储空间,但不知道),但我建议加入WRITE_EXTERNAL_STORAGE允许您的清单,像这样:
<manifest...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
因为据我所知所配置的java.io.tmpdir
默认的临时文件的位置是/sdcard
,你需要的WRITE_EXTERNAL_STORAGE允许添加到您的清单。
我有同样的问题。对我而言,问题在于我在开发过程中通过USB将我的Android设备插入PC,并且SD卡在被其他设备安装时被锁定。一旦我拔掉了设备,它工作正常。你也可以告诉该设备未安装SD卡,在插入时。
感谢您的帮助。我添加了一行的AndroidManifest.xml使得它现在有两个元素<使用的许可机器人:名称=“android.permission.INTERNET对” /><使用的许可机器人:名称=“android.permission.WRITE_EXTERNAL_STORAGE” />;但是,它不会更改应用程序错误。我有改变是否正确? – dev222
更新:更改为此调用的替代签名:File temp = File.createTempFile(“mediaplayertmp”,“dat”,this.getCacheDir());作品! – dev222
啊好的!很高兴你知道了,我不确定该从哪里出发。 – kcoppock