Cannot Write to sdcard in Android emulator

2019-01-15 07:50发布

问题:

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.