![](/img/trans.png)
[英]Android open failed: EACCES (Permission denied) when try to read a file in data/data
[英]Android open failed: EACCES (Permission denied) when writing file in data/data/package/files
我要例外了
java.io.FileNotFoundException:/data/data/XX/files/permissions.xml:打開失敗:EACCES(權限被拒絕)
嘗試將文件從SD卡復制到應用數據位置時。 我的代碼是
File copy = new File((getActivity()
.getApplicationContext().getFileStreamPath("permissions.xml")
.getPath()));
if (!copy.exists()) {
try {
copy.getParentFile().mkdirs();
copy.createNewFile();
} catch (Exception err) {
err.printStackTrace();
}
}
copyFileUsingChannel(xmlFile, copy);
方法copyFileUsingChannel
被調用方法copyFileUsingStream
直接。 我在清單中聲明了讀寫權限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="XX">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
...
我不知道為什么會拋出該異常。 我正在從應用程序包中創建文件。 應該由擴展非應用類引起嗎? 謝謝你的幫助。
編輯:我意識到有趣的事實:文件已創建,但無法將內容寫入其中
您是否授予運行時權限? 這是一個文檔請求應用程序權限
我通過將文件從permissions.xml
重命名為prms.xml
來解決了問題。 好像是android的保留字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.