我尝试在我的应用程序中编写Log,我在一些Android设备中遇到异常,/mnt/sdcard/Log/log.txt: open failed: ACCES (Permission denied)
。我也使用了WRITE_EXTERNAL_STORAGE
权限,但我收到了这个错误。
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath() + logDir);
dir.mkdirs();
File file = new File(dir, logFileName);
PrintWriter writer = new PrintWriter(new BufferedWriter( new FileWriter(file, true), 8 * 1024));
writer.println(message);
writer.flush();
writer.close();
请帮助我,提前致谢。
答案 0 :(得分:2)
不要对SD卡进行硬编码,您必须使用Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
会告诉您内存是否已加载。然后使用:
Environment.getExternalStorageDirectory().getAbsolutePath()
答案 1 :(得分:0)
您是否拥有AndroidManifest.xml
文件中的相应权限。如果是这样,那么我可以看到您用来保存的代码写日志。