问题描述
- android EACCES 错误
- java.io.FileNotFoundException: /mnt/sdcard/ttt.tt: open failed: EACCES (Permission denied)
android小白,出错如上,已经申请了2个权限,写文件到SD卡报这个错误,请问大牛们这是怎么回事?
部分代码:
File file = new File(Environment.getExternalStorageDirectory() filename);
Log.i(""FILE"" Environment.getExternalStorageDirectory().getAbsolutePath());
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(content.getBytes());
outStream.close();
解决方案
SD 卡写需要这个权限 android.permission.WRITE_EXTERNAL_STORAGE,在 AndroidManifest.xml 中声明。
解决方案二:
在读写Android SD卡时,出现这个错误的原因是因为没有权限。解决步骤如下:
确定你的App的AndroidManifest.xml文件中写有SD卡读写权限,这是必须的:
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
如果你的应用需要创建文件或者目录,还需要添加如下权限:
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
确定你的手机的SD卡,可以读,通过如下代码判断:
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
File sd = Environment.getExternalStorageDirectory();
boolean can_write = sd.canWrite();
确定你的手机没有连接到电脑,因为SD卡只能被手机访问或者被电脑访问,不能二者同时访问
解决方案三:
权限被拒绝了,检查下程序
解决方案四:
可参考以下链接
http://blog.csdn.net/twlkyao/article/details/17595291