Как записать файлы на съемную 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
}