У меня проблема с функцией mkdirs. См мои разрешения манифестаmkdirs() return false with write external permission
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="xxxxxx"
android:versionCode="15"
android:versionName="3.1.1508">
<!-- Global permissions -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
И мой код
String APP_PATH_SD_CARD = "/xxxxx";
String fullPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + APP_PATH_SD_CARD;
if(!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
ToastDressmup.make(this, "External SD card not mounted", 0, ToastAction.CLOSE.getValue()).show();
}
try {
File dir = new File(fullPath);
if (!dir.exists()) {
dir.mkdirs();
}
==> My file doesn't exist
SD карта установлена. Я не понимаю. Я читал очень ответы в Интернете, но это все еще неправильно.
Я был протестирован на эмуляторе (с эмулированным SD-картой) и на Nexus 5, это не работает. На моем HTC One X это работа, почему?! I'me отчаянно
Спасибо вам всем! G.
Возможный дубликат [mkdirs возвращает ложь для каталога на сд карту в то время как родительский каталог доступен для записи] (http://stackoverflow.com/questions/4062357/mkdirs-returns-false-for-directory- on-sd-card-while-the-parent-directory-is-writ) – Henry
Thx! Но их решения не устраняют мою проблему :(Я тестировал mkdirs(), mkdir в каждом каталоге, с эмулятором или без него. У меня больше нет идей :( – user5551022
Если вы используете Android6, проверьте ответ easyspeek здесь. изменилась обработка разрешений. –