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