我的應用程序。失敗上線: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