2014-01-18 156 views
24

出于某种奇怪的原因,我经常遇到不同类型的Android设备的问题,用于将捕获的图像保存在设备存储器上。Android异常:java.io.IOException:打开失败:EACCES(权限被拒绝)

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

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) 

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

+3

您是否将写入权限添加到清单文件中? –

回答

22

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

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

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

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

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

0

解决什么,我觉得是

编辑模拟器 1.选择Android虚拟设备管理器,然后编辑模拟器 2组说100 MB的SD卡作为受尊敬的仿真器,并说好 3。保存并关闭仿真器,并开始 4.保存路径单击DDMS MNT/SD卡/ yourfilename 它为我工作的应用程序不给错误并正在

-9

注意以下陷阱:别人写

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" /> 
21

这可能会帮助你。在SD卡上写入文件时我面临同样的问题。我已经设置写入文件所需的全部权限,但我用像下面的文件对象:

错误:

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

正确:

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

这意味着路径是错误的。

+0

为我工作:) –

+0

@Rafa Firenze。感谢您的评论。如果它解决了你的问题,请接受它作为可接受的答案,这对其他开发者也有帮助。 – Smeet

+0

这不是我的问题,我给你一个肯定的答案(+1) –

相关问题