Я проверяю, смонтировано и доступно ли свободное хранилище для чтения/записи, а затем я прочитал его. Я использую точный официальный образец кода Android (from here).Внешнее хранилище не указывает на большую внутреннюю SD-карту
В нем указано, что внешнее хранилище не установлено. getExternalFilesDir(null)
null
.
Во-первых, я испытал это с помощью HTC One V, у которого не было вставлена внешняя SD-карта (но она имеет большое внутреннее пространство).
Теперь я испытываю то же самое на планшете WayteQ xTAB-70dci, который имеет огромную «внутреннюю SD-карту» (так называется планшет), но внешняя SD-карта не вставлена.
В обоих случаях стандартные API для Android (getExternalStorageState()
, getExternalFilesDir()
и т. Д.) Возвращают false.
Я полностью сыт по горло. Очевидно, пользователи, которые платят за мое приложение (игра с большой графикой), ожидают, что он будет правильно установлен на своем телефоне/планшете с огромной внутренней SD-картой (например, WayteQ).
Что здесь не так? Почему эти устройства (HTC, WayteQ, давай!) Указывают на внешнюю SD-карту (которая обычно отсутствует по умолчанию от продукта) вместо их огромного внутреннего хранилища SD? Абсолютно нелогично и даже вредно. Что я могу сделать, есть ли стандартное обходное решение?
См. Http://stackoverflow.com/questions/15425574/some-android-devices-treat-internal-storage-as-sd-cards-and-external-storage-as?rq=1 - но в основном, ответ заключается в том, что поведение, когда доступны оба варианта, зависит от производителя устройства. – Jules