그러냐

안드로이드 외부 sdcard 경로 가져오기 본문

android

안드로이드 외부 sdcard 경로 가져오기

관절분리 2018. 12. 20. 13:30
반응형

테블릿에 sd카드를 삽입할시 삼성 일부 경우 storage/extSdCard 이런식으로 경로가 생기거나


제조사마다 모델마다 경로가 달라진다  아니면 sdCard 마다 1251-4213 이런식으로 숫자로 경로가 잡히기도한다


그래서 경로를 픽스할수가 없다 sdcard 마다 경로가 달라지니..


안드로이드 내부에서 제공하는 getExternalStorageDirectory 이런 함수나 getexternalfilesdir 이런 함수들은 기존에 물려있는 내부 경로를 가져오기때문에


String strSDCardPath = System.getenv("SECONDARY_STORAGE");
if ((null == strSDCardPath) || (strSDCardPath.length() == 0)) {
    strSDCardPath = System.getenv("EXTERNAL_SDCARD_STORAGE");
}


뭐 이런식으로 경로를 가져오려는 시도를 하게 되는데


내가 이번에 납품하게 되는 테블릿은 null 값만 나올뿐이다 잡혀도 내부경로를 잡는다


그래서 지지고 볶고 하다가 포기하고 그냥 전체 경로 가져와서 골라내기로했다


File file = new File("storage/");
File[] listOfStorages=file.listFiles();

for(File el : listOfStorages) {
if (el.getName().contains("-")){
sdcardName = el.getName();
break;
}
}
URL = URL + sdcardName + "/hmfile";

이런식으로 외부 저장소 루트경로에서 목록을 추려서 "-" 하이푼 문자가 있는 폴더를 sdcard 경로로 인지하는걸로 했다


왜냐하면 납품하는 태블릿에서 sdcard를 0000-0000 이런식으로 숫자로 잡아버리기 때문이다


잘된다


반응형