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