2011-10-17 9 views
2

버그의 출처가 확실하지 않습니다. 버그가있는 오래된 Android 버전이나 내가 잘못한 일을하는 경우 문제는 내가하는 일에 상관없이, 안드로이드는 SD 카드가 장착 된 것으로보고합니다. 이 태블릿 (ARCHOS의 70)에 육체적 경우에도 ..Android 카드가 장착 된 SD 카드가 항상 true를 반환하는지 확인하십시오.

public boolean saveToDisk(String filename, String header) { 
    /* first check to see if the SD card is mounted */ 
    if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { 
     //throw some exception so we can display an error message 
     // XXX 
     return false; 
    } 
    try { 
     File root = Environment.getExternalStorageDirectory(); 
     File dir = new File(root.getAbsolutePath() + "/bioz"); 
     if (!dir.exists()) { 
      dir.mkdirs(); 
     } 
     File file = new File(dir, filename); 
     .... 

첫 번째 테스트는 항상 사실, getExternalStorageDirectory는()을/mnt/저장/bioz가 존재하는지/mnt 아래/저장 및 테스트로 응답 디렉토리가 있음을 나타냅니다.

어떤 일이 벌어지고 있는지 알 수 있습니까? 내가 잘못된 일을하고 있습니까, API가 고장 났습니까?

감사합니다, 레자

답변

2

외부 저장 장치는 적어도 모든 장치, SD 카드와 동일하지 않습니다. 내부 플래시 메모리가있는 장치 (예 : Nexus S)는 이것을 "외부 저장소"로 위협합니다.

이제 내부 플래시 및 SD 카드, 외부 메모리 및 SD 카드로 위협 내부 플래시가있는 장치가이 외부 메모리의 디렉토리로 추가됩니다.

프로그래머가 보니 고통 스럽지만 우리가 할 수있는 일은별로 없습니다.

+0

내 에이서 ICONIA (안드로이드 3.2)는 내부 스토리지를 가지고, 다른 다시 처리 등/SDCARD /과/MNT/SDCARD/그러나 진짜 SD 카드에만 나타납니다에서을/mnt/external_sd – jsnfwlr

+0

@phalacee : 정보 주셔서 감사합니다 . 예, SDK가 문제가되는 부분입니다. –

+0

SD 카드에 글쓰기의 측면에서 올바른 전략은 무엇입니까? – reza

관련 문제