<안드로이드> SD카드가 없을때 나타나는 오류를 방지하는 방법
2010/09/07 14:47 under [개발]
인텐트로 카메라를 호출할때 MediaStore.ACTION_IMAGE_CAPTURE 를 사용하는데 외장메모리가 없을경우 앱이 종료되는 문제가 생긴다. 이 문제는 어떤 기종의 단말기를 사용하느냐에 따라 발생할 수도 있고 안할 수도 있는데 내장메모리를 SD카드처럼 사용할 수 있는지에 따라 달라진다. 실제로 갤럭시S에서는 정상적으로 작동했지만 갤럭시A에서는 오류를 발생시켰다.
카메라앱을 실행하면 SD카드가 없음을 알리는 토스트가 나오지만 앱에서 카메라를 호출했을때는 오류를 발생시키는데 정확한 이유는 잘 모르겠다. 이 문제는 SD카드가 없어서 생기는 문제이므로 카메라를 호출하기전에 SD카드의 유무를 체크함으로써 해결할 수있다.
String state = Environment.getExternalStorageState(); // 단말기의 SD카드정보를 가져온다.
boolean isSDCard = state.equals(Environment.MEDIA_MOUNTED); // SD카드가 있는지 체크한다.
