Я тестировал свое приложение на HTC One V несколько недель назад. Когда мое приложение проверило доступность внешнего хранилища при его первом запуске, выяснилось, что его нет. (Я использовал getExternalStorageState()
и по результатам, getExternalFilesDir(null)
).Внешнее хранилище и HTC One V
Я прочитал соответствующий поток stackoverflow (и Android doc), поэтому пришел к выводу, что любое устройство, поддерживающее Google Play, должно предлагать какое-то внешнее хранилище (SD-карта или другое). Официальные домашние страницы Android также подразумевают, что getExternalFilesDir
должен всегда возвращать действительное место (если не размонтирован или не установлен на ПК и т. Д.).
Владелец HTC One V, который разрешил мне выполнить тест, сказал мне, что он не получил SD-карту на свой телефон. (Я знаю, что внешнее хранилище может быть чем-то еще, но, как вы можете видеть выше, стандартный вызов getExternalStorageState
вернулся, что его нет, т.е. он не вернул внутреннее хранилище HTC One V.)
Если я повернул (вместо этого вместо этого использовалась память телефона), все отлично работало на One V. Проблема в том, что это игра, которая будет больше 50 МБ, поэтому я вынужден использовать расширение APK Google Возможность файлов - и для этого требуется внешнее хранилище.
Имеют ли продавцы/операторы мобильной связи право продавать телефон без внешнего хранилища (в данном случае без SD-карты)? Я знаю, что это не вопрос девелоперов, но, как видите, что-то должно быть не так. Насколько я вижу, One V имеет большое внутреннее хранилище, поэтому мне интересно, почему getExternalStorageState
не сообщил об этом как доступный.
Я не проверял код, но это суть его, чтобы получить внешний каталог хранения. –
Я использовал официальный код Google, я сомневаюсь, что в моем коде были проблемы. Думаю, это, должно быть, было что-то особенное с одним V. –
Прошу прощения, я имею в виду, что у устройств с внутренним хранилищем есть проблема с 'getExternalFilesDir()' не ваш конкретный код. Без обид :) –