无法在外部存储中创建目录,尽管权限显然已正确设置
我有
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在我的清单文件中,但是尝试创建目录时失败
Log.d(LOG_STRING, android.os.Environment.getExternalStorageState() );
java.io.File folder = new java.io.File(Environment.getExternalStorageDirectory() + java.io.File.separator + "test");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
if (success) {
Log.d(LOG_STRING, "Created directory");
} else {
Log.d(LOG_STRING, "FAILED WHILE CREATING DIRECTORY");
}
外部存储的状态为“已装载”,但无法创建目录,输出为 。test
"FAILED WHILE CREATING DIRECTORY"
在手机中浏览到“应用程序信息”,权限“修改或删除USB存储的内容”被标记为为我的应用程序激活。
这可能是什么原因造成的?手机的一些特殊设置?这是一款带有Android 4.3(API18)的三星GT-I9506。需要注意的是,不在SD卡上,而是在内部存储上()。getExternalStorageDirectory
/storage/emulated/0/
更新:
与同事交谈,似乎该设备在扎根后进行了几次调整(以允许特定应用程序直接在SD卡上写入)。可能不值得进一步调查,我将简单地切换到另一台设备。我会保留设备一段时间,如果有人会给出答案,我会很快测试它是否解决了问题。
更新2:(赏金结束)
问题仍未解决,但如前所述,它很可能是特定于此设备的东西。不可能在任何路径上写入,无论是外部存储还是内部存储,甚至在 返回的路径中也无法写入。getExternalCacheDir()