2013-08-02 1 views
0

Я развиваюсь с Android Studio на различных эмулируемых устройствах.Confused: context.getExternalFilesDir vs. Environment.getExternalStorageState();

Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) 

всегда возвращался false ДОПОЛНИТЕЛЬНО Я выбрал эмулировать SD-карты на эмулируемых устройствах.

Но документация на http://developer.android.com/training/basics/data-storage/files.html конкретно говорится, что

«всегда есть два помещения для хранения и поведение API одно и то же ли съемный внешний накопитель или нет.»

Это, по-видимому, указывает на то, что внешнее хранилище не обязательно относится к реальной карте SD и может быть внутренним. Поэтому почему мне нужно, чтобы размер эмулируемой SD-карты был больше нуля, чтобы заставить этот код работать? Что я не понимаю или не понимаю?

Кроме того, context.getExternalFilesDir также ссылается на флаги того же каталога, что и Environment.getExternalStorageState?

Спасибо,

Тони

ответ

0

Вы должны выбрать эмулировать SD карты, чтобы указать эмулятор, который у вас есть внешнее запоминающее устройство, связанное. И то, что вы сказали правильно, внешнее хранилище может быть съемным носителем (например, SD-картой) или внутренним (несъемным) хранилищем.

Да, context.getExternalFilesDir возвращает абсолютный путь к каталогу на внешней файловой системы в соответствии с документацией, следовательно, относится к флагам той же директории, как Environment.getExternalStorageState

+0

Похоже, я не могу рассчитывать на внешнее запоминающее устройство * всегда * имеется. Например, если кто-то установил, то удалил SD-карту, у ОС не будет встроенного хранилища в качестве внешнего хранилища. Есть ли всегда * какое-то «внешнее» хранилище, даже в случае отсутствия SD-карты или удаленной SD-карты? Еще раз спасибо - – TonyMLake

+0

@Pradeep, я запускаю это на физическом устройстве. Пытаться закодировать логику, чтобы узнать, доступна ли внешняя SD-карта для загрузки файлов или если требуется переключиться на внутренний. Я думал, что getExternalStorageState можно использовать для определения наличия внешней SD-карты или нет. Что мне не хватает? – justdan0227

Смежные вопросы