【问题标题】:IOException: Permission DeniedIOException:权限被拒绝
【发布时间】:2011-05-20 19:10:14
【问题描述】:

我正在尝试将文件写入 android 的外部存储。 在我添加的 AndroidManifest.xml 上(在清单标签内)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

然后我尝试了:

File root = Environment.getExternalStorageDirectory();
File file = new File(root, xmlFilename);
file.createNewFile();

然后我得到了异常。 我该如何解决这个问题?

【问题讨论】:

  • 您能否在问题中添加错误日志。
  • 你收到了哪个异常? xmlFilename的值是什么,必须是string

标签: java android exception


【解决方案1】:

确保您的 SD 卡未安装到您的计算机上。如果您启用了 USB 存储,您的 SD 卡将变为 Android 只读。

除此之外,您的应用程序看起来不错,应该可以工作。


哦,我会用下一种方式修改你的代码:

if(root.canWrite()){
    File file = new File(root, "file.xml");         
    file.createNewFile();
}

【讨论】:

  • 愚蠢的我,它被安装了。不知道有这种影响。无论如何,现在 file.creatNewFile() 失败了。并感谢您的修改!
【解决方案2】:

你有在清单中设置的权限吗?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

您也可以将“root”替换为您的调用来获取目录而不是声明它。 xmlFilename 的值是多少?

【讨论】:

  • 我确实设置了权限。字符串 xmlFilename = "my.xml";
【解决方案3】:

确保您具有写入文件的正确权限。在您的清单文件中,包含此行

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />.

【讨论】:

  • 我已经设置好了,正如我在最初的帖子中所写的那样。还是谢谢:(
猜你喜欢
  • 2011-05-03
  • 1970-01-01
  • 2018-11-15
  • 1970-01-01
  • 1970-01-01
  • 2015-08-30
  • 1970-01-01
相关资源
最近更新 更多