2012-02-19 78 views
11

我已经在AndroidManifest.xml中添加这一行到SD卡:不能写在Android模拟器

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

然而,当我运行代码写入到SD卡,我得到这个错误:

02-19 13:24:46.760: E/CameraTest(598): /mnt/sdcard/image.jpg: open failed: EACCES (Permission denied) 

我该如何解决这个问题?

编辑:我正在使用添加了SDCard的Android模拟器。

EDIT 2:我知道问题是什么,现在我已经调用的函数Environment.getExternalStorageState(),我得到“删除”。任何人都知道如何解决这个问题,并使状态MEDIA_MOUNTED

谢谢!

+0

操作系统的任何设备上你有没有安装SD卡? – kosa 2012-02-19 18:32:08

+0

检查[此] [1]和[此] [2] [1]:http://stackoverflow.com/questions/8854359/android-open-failed-eacces-permission-denied [2]:http://stackoverflow.com/questions/9334090/failed-to-save-image-to-sdcard – George 2012-02-19 18:32:50

+0

@thinksteep:是的SD卡被添加。顺便说一句,我正在使用模拟器。 – 2012-02-19 19:44:13

回答

7

好吧所以我解决了这个问题。这是我在安装SD卡时遇到的一个问题,并且android不允许在路径中显示空格!

这里是一个很好的过程遵循(如果还使用了Eclipse):http://www.brighthub.com/mobile/google-android/articles/33240.aspx

注意:如果路径中有空格的话,将SD卡图像文件移动到别的地方,然后运行模拟器命令与SD卡和一切应该正常工作!

3

它可能比这更简单。我错过了配置模拟器以使它具有SD卡。一旦我在设备中添加了SD卡,一切都很顺利。

问候, 乔纳斯

1

我清除了任何应用程序我使用尝试和分享出来的图片(Pixlr等)的缓存,它是罚款。

2

我注意到,如果您使用Android 6.0模拟器,Android会为(棉花糖)添加新的权限模型,则可能会出现此问题。

绝招:如果你的目标版本22或以下,你的应用程序将要求在所有的权限,安装时间只是因为它会运行下面棉花糖