[android] 생성한 image file media scanner 등록 |
Stack overflow 를 참조했을 때 아래와 같은 2가지 안정적인 방법이 있다.
방법 1은 SD Card 가 Mount 된 것처럼 broadcast를 날려서 해당 uri 를 scan 하도록 하는 것이고.
private void registerToMediaScanner( Uri uri ){
Intent intent = new Intent( Intent.ACTION_MEDIA_MOUNTED, uri );
sendBroadcast( intent );
}
방법 2는 새로 생성한 file 을 MediaScanner 에게 전달하여 해당 내용만 scan 하는 것이다.
private void registerToMediaScanner( File newFile ){
MediaScannerConnection.scanFile( this, new String[]{ newFile.getPath() }, new String[] { "image/jpg" }, new OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
// TODO
}
});
}
내부적 구현이 어떤지 소스코드를 살펴보지 않아 정확히 어떤것이 무조건 좋다고 판별할 수는 없지만..
두번째 방법이 논리적으로는 더 합당해 보여서 두번째 방법을 추천한다.
물론 callback 도 받을 수 있어 추후 등록된 후 어떤 일을 수행할 수도 있다.
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] how to get device name (0) | 2014.02.11 |
---|---|
[android] jsoup proguard 적용 방법. (0) | 2014.02.10 |
[android] Errors running builder 'Android Pre Compiler' on project 'XXX' java.lang.NullPointerException (0) | 2014.02.08 |
[android] webview에서 youtube 재생 지원하는 방법 (0) | 2014.02.07 |
[android] Share with facebook with ACTION_SEND intent, why pre-filled text does not work? (0) | 2014.02.05 |
댓글