mkdirs возвращает false для каталога на SD-карте, в то время как родительский каталог доступен для записи
При запуске приложения для Android мне нужно создать каталог на SD-карте, для небольшого числа пользователей это не удается, и я не могу выяснить причину этого ...
(Я обнаружил похожие проблемы, вызванные отсутствием разрешения WRITE_EXTERNAL_STORAGE, оно есть и работает почти для всех пользователей, поэтому я не думаю, что это причина)
Я упростил предыдущую ситуацию, чтобы ее было легче объяснить. Если создание директории не удается, я запускаю тестовый пример, в котором я пытаюсь создать каталог .test на SD-карте:
new File(Environment.getExternalStorageDirectory(), ".test").mkdir() -> false
new File(Environment.getExternalStorageDirectory(), ".test").mkdirs() -> false
Свойства файла соответствующих каталогов:
/sdcard/.test (существует = false canWrite = false canRead = false canExecute = err isDirectory = false isFile = false)
/ SDCARD (существует = true canWrite = true canRead = true canExecute = ошибка isDirectory = true isFile = false)
/ (существует = true canWrite = false canRead = true canExecute = ошибка isDirectory = true isFile = false)
getExternalStorageState = установлен
(canExecute возвращает ошибку, потому что тест выполняется на SDK <9)
Предложения и идеи очень приветствуются ...