Android写入外部存储(权限被拒绝)

时间:2014-11-18 22:11:39

标签: android android-4.4-kitkat

我正面临一个糟糕的问题。我似乎无法将我的应用程序写入外部存储(或任何地方)。该应用程序运行在具有已知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"/>

1 个答案:

答案 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权限时会自动获取该权限。