앱을 개발하다 보면 미디어 스캐닝을 강제로 하고 싶은 경우가 있다.

네트웍에서 음원이나 사진을 다운받았는 데 뮤직이나 갤러리에서 표시가 안되는 경우가 그렇다.


미디어 스캐너에게 파일정보가 업데이트가 되었다는 인텐트를 보낸다.


sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,

Uri.parse("file://" + path)));




아래 내용은 KitKat부터 사용 불가합니다. 

미디어 스캐닝이 너무 자주 불려 성능저하를 일으키는 문제로 앱단에서 호출하지 못하도록 되었습니다.

여하튼 KK 이전 버전이라면...


이럴 때는 아래처럼 인텐트를 하나 날려주자.

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,

Uri.parse("file://" + Environment.getExternalStorageDirectory())));


adb로 바로 미디어 스캐닝을 하고 싶다면 이렇게..

(URI 부분을 file:///storage하면 전체 storage에 대해 스캐닝을 수행함)

adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED

file:///storage/sdcard0


저작자 표시 비영리 동일 조건 변경 허락
신고

티스토리 툴바