안드로이드 SD 카드 관련 인텐트들

플젝하다가 데이터 있는 sd 카드 갑자기 뽑히면 어떻게 하나 고민하다가
인텐트 날라온다고 해서 그거 등록해서 처리 할려는데
다 해준거 같은데 안온다 -_-;;

아씨검색에 검색을 하다가 방법을 찾았다.
잘 날라온다

<intent-filter>
	<action android:name="android.intent.action.MEDIA_EJECT"/>
	<action android:name="android.intent.action.MEDIA_BAD_REMOVAL"/>
	<action android:name="android.intent.action.MEDIA_MOUNTED"/>
	<action android:name="android.intent.action.MEDIA_REMOVED"/>
	<action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
	<data android:scheme="file"></data>
</intent-filter>

여기 맨 밑에 <data android:scheme=”file”></data>는 필수다.
이걸 안해줘서 받질 못했다.
솔직히 이걸 왜 해줘야 하는지 이유는 잘 모르겠다.
암튼 검색하니 이게 같이 있는 예제가 있는데 이걸 해주니 잘 된다.

android.intent.action.MEDIA_MOUNTED       : SD 카드가 마운트 되면 날라옴
android.intent.action.MEDIA_EJECT         : SD 카드가 강제로 뽑히거나 유저가 마운트 해제 하였을때 날라옴
android.intent.action.MEDIA_UNMOUNTED     : 유저가 마운트 해제 하였을때 날라옴
android.intent.action.MEDIA_REMOVED       : SD 카드가 장치에서 제거 되었을때 날라옴
android.intent.action.MEDIA_BAD_REMOVAL   : 유저가 마운트 해제 하지 않은체 SD 카드가 강제로 뽑혔을때 날라옴

sd카드 강제로 추출시 순서
android.intent.action.MEDIA_BAD_REMOVAL -> android.intent.action.MEDIA_EJECT

sd카드 언마운트 할때
android.intent.action.MEDIA_EJECT -> android.intent.action.MEDIA_UNMOUNTED

sd카드를 연결 할때
android.intent.action.MEDIA_UNMOUNTED -> android.intent.action.MEDIA_MOUNTED

언마운트가 호출되는거는 혹시나 모를 연결되어 있는거 안전하게 분리하기 위해 한번씩 해주는거
나도 뭐 마운트 하기전엔 항상 했던거니


Comments

“안드로이드 SD 카드 관련 인텐트들”에 대한 2개의 응답

  1. 지나가던나그네 아바타
    지나가던나그네

    키캣 이상에선 MEDIA_MOUNTED는 날라오지 않는걸로 알고잇습니다..ㅠㅠ

    1. 아… MTP라 필요 없는걸까요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다