총 게시물 84건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

착탈가능한 외부 sdcard의 존재여부(진저버그)

글쓴이 : nicehee 날짜 : 2012-07-10 (화) 07:31 조회 : 7188
 
  SDCARD 텐바이텐
하나쯤 꼭 필요한 USB, 외장하드 특가 SALE 텐바이텐에서 지금 바로 만나요
10x10.co.kr
  역시 NO.1 롯데면세점
코덕이시라면 알찬 혜택! 기본 $3000 받고 화장품PLUS 적립금까지 냠냠
kor.lottedfs.com
  하반기 기대작, 진제천대성
생생한 서유기 판타지RPG!, 고품격 이야기의 대형MMORPG의 서막!
son.topgame.kr
신청하기


[소스코드 코너에 올린글을 이곳으로 옮깁니다. 이곳이 딱일거 같네요. 글읽기 뽀인터 헌납에 대한 부담도 없구...]
 
기존의 내장된 sdcard카드는 mnt/sdcard/ 폴더로 존재하고
찰탁이 가능한 확장카드는 mnt/sdcard/external_sd/ 폴더로 존재한다.
그런데 외부카드에 파일을 쓰려고 external_sd의 존재 여부를 조사하려고
external_sd의 용량을 확인하는 방법을 사용하였으나
ICS에서는 장착이 안되어있을때 정상적으로 0을 돌려주고 파일쓰기도 안되었지만
갤스(진저)에서는 장착이 안되었을때 0을 돌려준다
그러나 파일이 써진다. 또 읽히기까지한다... 허걱!!!!!!!..
카드를 장착하면 해당 파일이 안보인다.
카드를 빼면 다시 보인다. 귀신도 아니고...

갤스 또는 진저의 버그로 판단된다는...
그래서 질문에 올렸더니 덧없음님께서 사이트를 하나 알려줘서리 해결했다는..

    public boolean checkSdCard2() {
        boolean bSdCard = false;
        long sl = System.currentTimeMillis();
        StringBuilder sb = new StringBuilder();
        try {
            // Open the file
            FileInputStream fs = new FileInputStream("/proc/mounts");
            // <- 요기가 마운트되어있는 디바이스 목록이 있는곳
            // 리눅스에서는 이것이 파일형태로 존재한다는..

            // 파일을 읽어온다
            DataInputStream in = new DataInputStream(fs);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));

            String strLine;

            // Read File Line By Line
            while ((strLine = br.readLine()) != null) {
                // 뺑뺑이 돌면서 몽땅 가져온다.
                sb.append(strLine);
                Log.e("", strLine);
            }
           
            // Close the stream
            in.close();
        } catch (Exception e) {
            // Catch exception if any
            e.printStackTrace();
            Log.e("", e.getMessage().toString()); // 요건 에러메시지 확인방법
        }
        Log.e("", sb.toString()); 
        // 카드가 장착되어있으면 목록에 external_sd가 보인다.
        if (sb.toString().contains("mnt/sdcard/external_sd")) {
            Log.e("", "external_sd");
            // 시간을 재 보았다 5mmS밖에 안걸린다. 오버헤드가 작아 다행이닷..
            Log.e("", "" + (System.currentTimeMillis() -sl));
            return true;
        }
        else
            Log.e("", "No external_sd");
        return false;
    }

SD카드 착탈시 시스템에서 미디어스캐닝을 해준다.
BR을 잡아서 위의 코드로 확실하게 처리해준닷..

다른 기기들에서는 문제가 없는지 함 테스트해 보신분들 댓글 부탁드립니다.

원 소스코드
http://sigidin.blogspot.kr/2011/08/check-external-sd-card-on-android.html
자나깨나 영어조심.



nicehee 님의 문제/에러 해결 LIB 최신글 [더보기]


추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

안사드 2012-07-19 (목) 16:43
감사합니다.ㅋㅋ
댓글주소
편의점 2012-08-23 (목) 16:28
잘 배우고 갑니다
댓글주소
nicehee 2012-10-16 (화) 08:17
참고로 갤3에서는 위치가 바뀌었습니다.
http://www.androidside.com/bbs/board.php?bo_table=B60&wr_id=106
댓글주소
hi
이전글  다음글  목록 글쓰기

총 게시물 84건, 최근 0 건 안내 RSS
번호 분류 제목 글쓴이 날짜 추천 조회
공지  문제/에러 해결게시판의 성격에 맞는 글들만 … 5 수아 02-26 2 4172
안드로이드  이 게시판의 용도 9 카이로 07-10 8 5703
84 하이브리드  이클립스 로그캣보는데 문자가 이상하게 나… 오룡 06-29 0 151
83 안드로이드  자바소스를 안드로이드용으로 변경 도움 부… 1 오마로 01-09 0 838
82 안드로이드  앱이 실행중이지 않을때 FCM 푸시 수신 후 노… 뜬구름 11-06 0 714
81 안드로이드  소스 수정 도와 주실분~~~ 2 맘여린왕자 10-16 0 729
80 안드로이드  (왕초보)SQLite를 이용한 고객관리 정보 어플 … 어플메이커 10-25 0 1241
79 안드로이드  (안드로이드+php) 이미지/텍스트 전송하는거 … 1 sujji2 09-22 0 1835
78 안드로이드  리스트뷰 인텐트 질문이요 2 sujji2 08-08 0 1628
77 안드로이드  카드뷰 인데 궁금한게있씁니다 마쉘로 07-28 0 1189
76 안드로이드  완전 초짜 질문입니다. 2 겨울이야기 07-08 0 1890
75 안드로이드  소프트키보드를 사용해서 천지인 키보드를 … 재와니 03-30 0 2334
74 안드로이드  안드로이드 갤러리에서 사진 가져오기 ㅠㅠ 2 히미여소사라 02-03 0 4430
73 안드로이드  안드로이드 스튜디오 빨간줄표시 osd0909 12-11 0 2674
72 안드로이드  java.lang.RuntimeException: Unable to start activity Compone… 1 레드썬 11-24 0 1708
71 안드로이드  안드로이드 스튜디오 AVD실행시에 에러입니다… 나이th 11-15 0 1699
70 안드로이드  구글맵을 사용하려고 하는데 진행이 안되요 흥그븡그 09-13 0 1838
69 안드로이드  안드로이드 스튜디오에서 drawable.. 4 elite1111 08-13 0 2616
68 웹앱  웹앱에서 동영상 보기 짱구짱구짱구 07-01 0 1682
67 웹앱  웹사이트 임포트후 전화걸기 문제입니당....… 2 짱구짱구짱구 07-01 0 2439
66 안드로이드  웹사이트 임포트후 전화걸기 문제입니당....… 짱구짱구짱구 07-01 0 1689
65 웹앱  웹사이트 임포트후 전화걸기 문제입니당....… 9 짱구짱구짱구 07-01 0 2412
 1  2  3  4  5  맨끝
 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기