【问题标题】:Android Error on writing file to sd card : Open Failed eacces permission deniedAndroid 将文件写入 sd 卡时出错:打开失败 eacces 权限被拒绝
【发布时间】:2016-04-06 14:43:17
【问题描述】:

我想将图像文件写入 sd 卡,但出现错误:Open Failed eacces permission denied.

我正在使用此代码:

File ff = new File("/storage/sdcard1/DCIM/100ANDRO/DSC_0258.JPG");
try{ 
    ff.createNewFile();
} catch (Exception e){ 
    Log.d("error" , "creating");
    e.printStackTrace(); 
}

我已添加权限:-

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

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

我没有使用 android 6.0 ,所以运行时不需要权限。

当文件路径更改为内部存储路径时,相同的代码可以正常工作。

但仍然出现错误。

【问题讨论】:

  • 我认为你在错误的地方添加了权限,确保它在 标签和 标签之外
  • 是的,它在正确的位置。外部应用标签

标签: android file android-sdcard


【解决方案1】:

首先,很少有 Android 设备会有这样的路径。

其次,在 Android 4.4 及更高版本上,您没有对removable storage 的任意读写访问权限。

如果您想让用户选择使用可移动存储,请在 Android 4.4+ 上使用the Storage Access Framework APIs

【讨论】:

  • 我使用 getExternalStorage 代码获得的这条路径。除了 Android 4.4 我想写入 sd 卡
  • @AnkeshkumarJaisansaria:“我使用 getExternalStorage 代码获得的这条路径”——那么你的问题应该显示这段代码,而不是一些硬编码的字符串。对于不在问题中的代码,我们无法为您提供帮助。 “除了 Android 4.4,我想写入 sd 卡”——external storage 不是 removable storage。在 Android 4.4 之前,没有对可移动存储的官方支持。
  • 感谢您的回复,但我想文件管理器应用程序如何读取 sd 卡以及它们如何添加、重命名、删除文件。
  • @AnkeshkumarJaisansaria:他们使用未记录和不受支持的技术,因此无法在某些设备上运行。
  • 我现在正在使用 SAF 写入 SD 卡,但出现错误。请帮我处理 SAF。真的卡在这了。我已经在新问题中发布了我的问题。链接:-stackoverflow.com/q/38998276/5309039
猜你喜欢
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 2021-12-23
  • 2021-07-02
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多