Android Exception : java.io.IOException: open failed: EACCES (Permission denied) [duplicate]

邮差的信 提交于 2019-12-18 04:29:15

问题


For some strange reason, am constantly facing an issue with different types of Android devices, for saving the captured images on the device storage.

Here, is the detailed error log, of what, actually am getting.

java.io.IOException: open failed: EACCES (Permission denied)
at java.io.File.createNewFile(File.java:940)
at com.parkhya.pick_for_shareAflash.HomeActivity.resizeImage(HomeActivity.java:456)
at com.parkhya.pick_for_shareAflash.HomeActivity.onActivityResult(HomeActivity.java:393)
Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
at java.io.File.createNewFile(File.java:933)

Although, all the other Android apps, like, Instagram and others, are able to save the camera clicked images on the devices. Anybody, can you please suggest, what should I do, in order for my app, to save the camera pictures in sdcard.


回答1:


please add the permission for Allows an application to write to external storage.

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

Allows an application to read from external storage.

Any app that declares the WRITE_EXTERNAL_STORAGE permission is implicitly granted this permission.

This permission is enforced starting in API level 19. Before API level 19, this permission is not enforced and all apps still have access to read from external storage. You can test your app with the permission enforced by enabling Protect USB storage under Developer options in the Settings app on a device running Android 4.1 or higher.




回答2:


This may help you. I face the same issue when writing the file on sdcard. I have set all required permission to write the file but I used the file object like below:

Wrong:

File myFile = new File(Environment.getExternalStorageDirectory().getAbsoluteFile()+fileName);

Correct:

File myFile = new File(Environment.getExternalStorageDirectory().getAbsoluteFile(), fileName);

That means the path was wrong.




回答3:


Solution what i find is

edit the Emulator 1. go to android virtual device manager and then edit the emulator 2. set say 100 MB for Sd card for the respected emulator and say Ok 3. save and close emulator and start 4. path saved is click DDMS mnt/sdcard/yourfilename it worked for me the app is not giving Error and is working




回答4:


Note the following trap: Someone else wrote

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

in AndroidManifest.xml. I wanted to save files and added the mentioned line and got

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

which is bad syntax. It should be

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

or

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


来源:https://stackoverflow.com/questions/21200428/android-exception-java-io-ioexception-open-failed-eacces-permission-denied

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!