Я использую Bluestacks для тестирования своего приложения, потому что у меня нет андроидов. Я пытаюсь записать файл на SDCard, но, похоже, не могу определить путь для него. Я пробовал следующее: /mnt/sdcard/ext_sd
& /mnt/extSdCard
но ни один из тех не работал.Карта SD Расположение на Android
ответ
Я попытался следующие:
/mnt/sdcard/ext_sd
&/mnt/extSdCard
но ни один из тех, кто работал.
Вы не должны жестко указывать пути. Поскольку местоположение или путь хранения SD-карты зависит от телефона и телефона. SD карта место хранения в моем телефоне /storage/sdcard1
Сейчас подходит к вашему вопросу,
До уровня API 19, не было никакого официального API method
хранить в SD-карте. Но многие могли сделать это с помощью неофициальных библиотек или API.
Официально один метод (getExternalFilesDirs) был представлен в классе Context в API уровня 19 (версия для Android 4.4 - Kitkat).
File[] getExternalFilesDirs (String type)
возвращает абсолютные пути к применению конкретных каталогов на всех общих/внешних устройств хранения данных, где приложение может разместить постоянные файлы, которые он владеет. Эти файлы являются внутренними для приложения, и обычно не видны для пользователя в качестве носителя.
Это означает, что он вернет пути к обоим типам. Хранение - Внутренняя память и карта Micro SD. Как правило, второй возвращаемый путь - это путь хранения микро SD-карты (но не всегда). Поэтому вам нужно проверить это, выполнив код с помощью этого метода.
Вместо путей жесткого кодирования вы должны использовать этот метод в исходном коде приложения, чтобы получить местоположение SD-карты. Затем записывайте файлы в это место.
Если вы хотите узнать больше о месте хранения или путей в Android, пожалуйста, пройти через my other answer
Перед API 19, официальный путь был '/ sdcard'. Вы все еще можете использовать его на новых телефонах (для обратной совместимости), где это символическая ссылка на реальное местоположение. – StenSoft
@StenSoft Я имел в виду, что до API 19 не было официального API-метода. В любом случае, спасибо за указание. Я обновил свой ответ, чтобы избежать этой путаницы :) – AnV