Android 打开失败:在数据/数据/包/文件中写入文件时,EACCES(权限被拒绝)



我得到异常

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来解决问题。这似乎是机器人的保留词。

最新更新