【发布时间】:2015-07-10 05:23:00
【问题描述】:
我试图将一些字符串保存到 sd 卡。但它抛出了这个异常打开失败的 EACCES(权限被拒绝)。我在设备(华硕 zenfone 5)上对此进行了测试。我已经在清单文件-WRITE_EXTERNAL_STORAGE 中声明了权限,我的 sd 卡已安装并且可以从中写入和读取数据(我通过复制一些 mp3 文件并播放它们亲自检查了它)。因为这是一个特定于手机的应用程序,并且手机中有一个内部和外部存储,我想将文件保存在外部 sdcard 中,所以我编写了这样的代码。我通过使用“cd”和“ls”命令使用终端仿真器应用程序获得了外部 sd 卡的绝对路径。我的手机没有植根,所以我不能直接发布任何权限更改。我已经尝试了谷歌和stackoverflow所有可能的方法。请帮帮我
public void savePublicExternalFile(String data){
File folder = new File("/Removable/MicroSD/");
//i have also tried File folder = new File("/Removable/MicroSD");
File myFile = new File(folder,"mydata.txt");
WriteData(myFile, data);
}
private void WriteData(File myFile, String data){
if(t){
Log.i("AbsolutePath",myFile.getAbsolutePath());
t = false;
}
FileOutputStream fileOutputStream=null;
try {
fileOutputStream = new FileOutputStream(myFile);
fileOutputStream.write(data.getBytes());
} catch (Exception e) {
Log.i("exception",e.toString());
} finally {
if(fileOutputStream!=null){
try {
fileOutputStream.close();
} catch (IOException e) {
Log.i("exception", e.toString());
}
}
}
}
【问题讨论】:
标签: android file-io android-sdcard file-access