Как записать файлы на съемную SD-карту (не на внешнюю SD-карту) в KitKat?

Есть ли способ получить путь к съемной SD -карте в API > 19 в Android?

Как для внешней SD -карты у нас есть Environment.getExternalStorageDirectory();Есть ли у нас что-то подобное для съемной SD -карты?

Например, Galaxy S4 имеет 2 SD -карты - одна встроена в SD -карту, которая определяется Environment.getExternalStorageDirectory();И другое необязательно, но если пользователь вставляет его - как мне получить путь к нему каким-либо методом? И если есть способ узнать, смонтирован ли он - плз также дайте мне знать

3 ответа

Вы можете найти все общие устройства хранения, позвонив Context.getExternalFilesDirs() или же Context.getExternalCacheDirs(),

Нет не существует надежного способа определения пути к съемной карте micro SD. Даже getExternalFilesDirs() не делает этого на двух моих устройствах kitkat. Вы должны попросить пользователя указать точный путь.

Environment.getExternalStorageDirectory(); дает вам то, что вы хотите! Термин "внешний" немного вводит в заблуждение.

РЕДАКТИРОВАТЬ:

Это дает вам каталог обеих SD-карт! Вы должны выбрать один, выполнив:

File storageDir = new File("/mnt/");
if(storageDir.isDirectory()){
    String[] dirList = storageDir.list();
    //Select card here
}
Другие вопросы по тегам