Я проверяю, смонтировано ли внешнее хранилище и доступно ли оно для чтения/записи, а затем читаю из него. Я использую точный официальный образец кода Android (отсюда а>).
Пишет, что внешнее хранилище не подключено. getExternalFilesDir(null)
возвращает null
.
Во-первых, я испытал это с HTC One V, в который не была вставлена внешняя SD-карта (но внутри было много места для хранения).
Теперь я испытываю то же самое на планшете WayteQ xTAB-70dci, в котором есть огромная «внутренняя SD-карта» (так ее называет планшет), но не вставлена внешняя SD-карта.
В обоих случаях стандартные API Android (getExternalStorageState()
, getExternalFilesDir()
и т. д.) возвращают false.
Я абсолютно сыт по горло. Очевидно, что пользователи, которые платят за мое приложение (игру с большим количеством графики), будут ожидать, что оно будет правильно установлено на их телефон/планшет с большой внутренней SD-картой (например, WayteQ).
Что здесь не так? Почему эти устройства (HTC, WayteQ, да ладно!) указывают на внешнюю SD-карту (которая обычно отсутствует в продукте по умолчанию) вместо огромного внутреннего SD-накопителя? Совершенно нелогично и даже вредно. Что я могу сделать, есть ли стандартный обходной путь для этого?