В Android есть внутреннее хранилище и внешнее хранилище.
Не путайте, поскольку внутреннее хранилище относится к файлам, которые доступны только приложению, а внешнее хранилище относится к обычным файлам, к которым могут получить доступ все приложения. и его можно найти как на реальной внутренней карте памяти (SD-карта телефона), так и на реальной внешней карте памяти (съемная карта Micro SD).
Мой путь к SD-карте телефона (той, которую нельзя удалить): /storage/emulated/0.
Мой путь к Карта micro SD (та, которую можно вставлять или извлекать): /storage/external_SD.
Обратите внимание: когда я использую Environment.getExternalStorageDirectory().getPath(), я получаю: /storage/emulated/0.
Это путь к настоящей внутренней карте памяти (SD-карте телефона), а не к реальной внешней карте памяти (съемной карте Micro SD).
Моя проблема заключается в том, что я могу писать на «настоящую внутреннюю карту памяти» (SD-карту телефона), но не на «настоящую внешнюю карту памяти» (съемную карту Micro SD). И мне нужно сохранять файлы на карту micro SD.
Я пробовал следующее:
Код: Выделить всё
FileOutputStream fos;Код: Выделить всё
fos = new FileOutputStream(System.getenv("SECONDARY_STORAGE") + "/test.txt");Код: Выделить всё
fos = new FileOutputStream("/storage/external_SD/test.txt");
Кроме того, я также пытался создать папку, но это не сработало.
Однако, когда я проставил путь к сд карте телефона, работает!
А еще работает создание папок.
Но мне нужно записывать файлы на микро сд карту.< /p>
Прежде чем дать мне ответ, обратите внимание на следующее:
- Я поставил следующее разрешения в манифесте:
Код: Выделить всё
Код: Выделить всё
- Я пытался отсоединить кабель от компьютера, прежде чем пользоваться приложением.
- Я пытался отключить режим отладки.
Я попробовал другую карту micro SD. - Мой смартфон — LG Optimus L7 (LG P714).
- У меня есть Android KitKat (4.4.2).
- Когда я попробовал приложение на другом смартфоне (Samsung Galaxy S3), оно все равно вылетало, когда я сохранял файлы на карту micro SD, но когда я сохранял папку удалось!
Подробнее здесь: https://stackoverflow.com/questions/471 ... ro-sd-card
Мобильная версия