Какой путь указывает на внутреннее хранилище, когда вы получаете список всех путей внешнего хранилища?

«внешнее хранилище» может быть съемным носителем (например, SD-картой) или внутренним (несъемным) хранилищем. Когда есть и внутреннее (несъемное) хранилище, и съемная SD-карта, я могу получить все пути хранилища через два файла: «scanning /proc/mounts» и «/system/etc/vold.fstab».

Однако я не знаю, какой путь указывает на внутреннее (несъемное) хранилище. Большинство устройств указывают «mnt/sdcard» или «storage/sdcard0» на внутреннее хранилище в соответствии с версией Android Sdk (до Android 4.1 путь — «mnt/sdcard; после Android 4.1 — «storage/sdcard0»). Но некоторые устройства указывают этот путь на съемную SD-карту.Поэтому у меня нет какого-то действенного способа их разделить.Жду вашей помощи.Спасибо!


person Dai Peter    schedule 08.10.2013    source источник


Ответы (1)


Ни одно съемное запоминающее устройство не будет поддерживаться в Android. В настоящее время они находятся за пределами Android SDK. Android SDK поддерживает только стандартное внешнее хранилище и ничего больше.

Environment.getExternalStorageDirectory (возвращает строку /mnt/sdcard). Данные поступают во внешнюю память, но не на съемную SD-карту.

Но если вам нужна внешняя SD-карта, проверьте ссылки ниже. Это может помочь вам получить внешние установленные устройства

Поиск внешней SD-карты

Android — поиск всех SD-карт (внутренних и внешних)

person Ameer    schedule 08.10.2013
comment
Ты прав. Android SDK поддерживает только стандартное внешнее хранилище. Но мне нужно разработать приложение, которое позволит пользователям выбирать путь хранения данных. Поэтому мне нужно получить все пути к хранилищу, даже если Android SDK не имеет соответствующего API. - person Dai Peter; 11.10.2013
comment
Амир, я так восхищаюсь твоей помощью. Кстати, вы знаете какой-нибудь способ различить путь к вставленной SD-карте и путь к съемному запоминающему устройству? - person Dai Peter; 12.10.2013