我正面临一个糟糕的问题。我似乎无法将我的应用程序写入外部存储(或任何地方)。该应用程序运行在具有已知SD卡问题的Android 4.4.4 KitKat设备上。但是我的其他应用程序(针对较低的Android版本进行编译)仍然可以写入此设备上的外部存储空间。我已经设置了正确的权限。有人可以回答如何解决这个废话。
堆栈跟踪:
java.io.FileNotFoundException: /storage/emulated/0/tb_Totaal.txt: open failed: EACCES (Permission denied)
代码:
File directoryFile = new File(Environment.getExternalStorageDirectory(), "");
directoryFile.mkdirs();
File f = new File(Environment.getExternalStorageDirectory(), "/text.txt");
FileWriter writer = new FileWriter(f.getPath());
权限:
<uses-permission android:name="android.permission.write_external_storage"/>
<uses-permission android:name="android.permission.read_external_storage"/>
答案 0 :(得分:4)
权限名称区分大小写。尝试使用:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<小时/> 根据{{3}},您不需要包含
READ_EXTERNAL_STORAGE
权限,因为在您需要WRITE_EXTERNAL_STORAGE
权限时会自动获取该权限。