Tips/Android

[Android] 미디어 스캐닝 인텐트

dextto™ 2013. 3. 1. 15:47

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

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

 

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

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

 

 

반응형