2012-07-04 3 views
1
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))    
{   
    System.out.println("​sd card present");   
} 

이 코드를 사용하여 sd 카드를 찾을 수 있지만 어떤 sd 카드인지 인식 할 수 없습니다. 그장치에 장착 된 외부 sd 카드를 인식하는 방법 및 해당 장치에도 내부 sd 카드가 있습니까?

http://androidforums.com/samsung-galaxy-s2-t/557831-am-i-saving-sdcard-not.html PLZ는 SGS2 삼성에 한 번이 링크 .....

을 참조 ... 붙박이 SD 또는 외부 시스템의 2GB의 파티션과 나머지 14기가바이트을 가지고 분할 및 인식 마운트 지점/sdcard를 만들어 sd 카드로 사용하십시오. 이와 함께 우리는 외부 이동식 SD 카드를 그 장치에 장착 할 수 있습니다. 그럼 프로그래밍을 통해 외부 이동식 SD 카드를 인식하는 방법.

+2

표준 API는 없습니다. 벤더 확장자를 찾거나/proc/mounts를 통해 트롤 할 필요가 있습니다 - 이동식 카드 (또는 적어도 고려해야 할 파티션)는 FAT 파일 시스템의 변형 일 가능성이 있습니다 (그러나 API의 기본 외부 저장소 - FAT가 아닌 MTP 장치). 또는 고급 사용자가 전체 장치를 탐색하고 위치를 선택하도록 할 수 있습니다. –

+0

이 작업은 ['public static boolean isExternalStorageRemovable()'] (http://developer.android.com/reference/android/os/Environment.html#isExternalStorageRemovable%28%29)입니까? @ChrisStratton –

+0

이름에서 알 수 있듯이 어떻게하면 도움이 될까요? 공식 (즉, 1 차) 외부 저장 장치만을 나타냅니다. 나는 대안을 찾기 위해 신경 쓰지 말라고 말할지도 모릅니다. 비록 USB 메모리를 장착 할 수있는 벤더 지원을 가진 "외부 저장 장치"로서 sdcard 슬롯이있는 태블릿을 생각할 수도 있습니다. –

답변

1
String sdcardpath = null; 
    File[] faFiles = new File("/mnt").listFiles(); 
    abc: { 
     for (File file : faFiles) { 
      if (file.isDirectory()) { 
       String pathMain = "" + file.getAbsolutePath(); 
       Log.v("@@@@@@@@@@@@@@@@", "222222222222" + pathMain); 
       if (pathMain.indexOf("ext") > 0&&pathMain.startsWith("/mnt/")) { 
        File fp = new File(pathMain); 
        if (fp.canWrite()) { 
         Log.v("@@@@@@@@@@@@@@@@", "33333333333333333" 
           + pathMain); 
         //external sd card is there.. 
         sdcardpath = pathMain; 
         break abc; 
        } 
        else{ 

        } 
       } else { 
        if (pathMain.indexOf("sd") > 0) { 
         File fp = new File(pathMain); 
         if (fp.canWrite()) { 
          Log.v("@@@@@@@@@@@@@@@@", "33333333333333333"+ pathMain); 
          sdcardpath = pathMain; 

           //internal sd card is there.. 
         } 

        } 
       } 
      } 
     } 
    } 
+0

내가 올바른 방법인지 여부는 모르겠지만 do not는 나를 위해 일하고있다 .. – Venkat

+0

Nope ... 나는 보았다./mnt가 아닌 아래에 여분의 sdcard를 넣는 장치 –

+0

@ChrisStratton 장치 이름을 언급하십시오 ... – Venkat

관련 문제