问题
I have added this line in the AndroidManifest.xml:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
However, when I run code to write to the sdcard , I get this Error:
02-19 13:24:46.760: E/CameraTest(598): /mnt/sdcard/image.jpg: open failed: EACCES (Permission denied)
How do I solve this problem?
EDIT: I am using the Android Emulator with SDCard added.
EDIT-2: I know what the problem is now: I have called the function Environment.getExternalStorageState()
and I get "removed". Anyone knows how to fix this and make the state MEDIA_MOUNTED
Thank You!
回答1:
Ok So I have solved this. It was a problem I faced with mounting the sdcard and that android doesn't allow spaces in the path!
Here is a good procedure to follow (if eclipse is also used) : http://www.brighthub.com/mobile/google-android/articles/33240.aspx
NOTE: in case the path has a space in it, move the sdcard image file to somewhere else and then run the emulator command with the sdcard and everything should work fine!
回答2:
It might be more simple than that. I missed to configure the emulator so that it had a SD-card. Once I added a SD-card in the device, everything went well.
Regards, Jonas
回答3:
I notice that this problem can occur if you are using an Android 6.0 emulator, Android added new permission model for (Marshmallow).
Trick: If you are targeting version 22 or below, your application will request all permissions at install time just as it would on any device running an OS below Marshmallow
回答4:
I cleared the cache for whichever application I was using to try and share out the picture (Pixlr) and it was fine.
来源:https://stackoverflow.com/questions/9351904/cannot-write-to-sdcard-in-android-emulator