【问题标题】:Android HTC/Sony External Storage Permission DeniedAndroid HTC/Sony 外部存储权限被拒绝
【发布时间】:2013-09-30 22:38:07
【问题描述】:

我不明白这里发生了什么。

虽然我已设置

,但我的权限被拒绝尝试访问 HTC Wildfire S 上的外部存储
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在清单文件中。

String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state))

返回假。

File storage= new File(Environment.getExternalStorageDirectory(),FILENAME);

通过调用storage.createNewFile();,我的权限被拒绝。

堆栈跟踪:java.io.IOException: Permission denied

注意:同一应用程序可在所有 Android 三星设备上正常运行。我只在 HTC 和 Sony 设备上遇到问题

感谢您的帮助

【问题讨论】:

  • 请发布您的清单和整个堆栈跟踪。
  • @CommonsWare java.io.IOException: 权限被拒绝
  • 这既不是清单也不是堆栈跟踪。这是一条错误消息。
  • @CommonsWare 相同的应用程序在所有 Android 三星设备上都能正常运行。我只在 HTC 和 Sony 设备上遇到问题

标签: java android storage permission-denied


【解决方案1】:

您的设备是否已插入您的 PC (USB) ?您是否检查了 SDCard 的状态(如何安装、插入时的 USB 选项)?

对于这个错误:java.io.IOException: Permission denied 目标文件可能已经存在。你检查了吗?

【讨论】:

  • 字符串状态 = Environment.getExternalStorageState();如果 (Environment.MEDIA_MOUNTED.equals(state)) 返回 false。目标文件不存在
  • 您检查文件名的语法了吗?检查 storage.toString() 是否为您提供了有效的文件路径,或将结果粘贴到帖子中。
  • 是的,因为同一个应用程序在所有 Android 三星设备上都能正常运行。我只在 HTC 和 Sony 设备上遇到问题
  • 您能否指出 Environment.getExternalStorageState(); 的结果,以便与可能导致此设备出现问题的几种可能状态(插入或忙碌时)进行比较。 。ETC) ? (documentation for different possible states)
  • Environment.getExternalStorageState() 返回删除
【解决方案2】:

我自己得到答案。

安静简单:我只是使用内部存储而不是 外部的。

【讨论】:

    猜你喜欢
    • 2015-08-28
    • 2020-10-31
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 2012-04-26
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多