Androidexception:java.io.IOException:打开失败:EACCES(权限被拒绝)

出于一些奇怪的原因,我们不断面临着不同types的Android设备的问题,以将捕获的图像保存在设备存储器上。

在这里,详细的错误日志,实际上正在得到什么。

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) 

尽pipe所有其他Android应用程序(例如Instagram等)都能够在设备上保存照相机点击的图像。 任何人,你可以请build议,我该怎么做,为了我的应用程序,将相机图片保存在SD卡。

Solutions Collecting From Web of "Androidexception:java.io.IOException:打开失败:EACCES(权限被拒绝)"

请添加允许应用程序写入外部存储的权限。

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

允许应用程序从外部存储读取。

任何声明WRITE_EXTERNAL_STORAGE权限的应用程序都被隐式授予此权限。

此权限从API级别19开始执行。在API级别19之前,此权限未强制执行,并且所有应用程序仍有权从外部存储读取。 您可以使用运行Android 4.1或更高版本的设备上的“设置”应用的“开发人员”选项下的“启用保护USB存储”来强制执行testing。

这可能会帮助你。 在SD卡上写入文件时,我面临同样的问题。 我已经设置了所有必要的权限来写入文件,但是我使用了如下的文件对象:

错误:

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

正确:

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

这意味着path是错误的。

解决方法我find的是

编辑模拟器1.进入安卓虚拟设备pipe理器,然后编辑模拟器2.设置说100 MB的Sd卡的尊重模拟器,说好3.保存并closures模拟器,并启动4.path保存点击DDMS mnt / SD卡/ yourfilename它为我工作的应用程序没有给错误,正在工作

注意下面的陷阱:其他人写道

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

在AndroidManifest.xml中。 我想保存文件,并添加了提到的行,并得到

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

这是不好的语法。 它应该是

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

要么

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