본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] 생성한 image file media scanner 등록

by 돼지왕 왕돼지 2014. 2. 9.
반응형

[android] 생성한 image file media scanner 등록



[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 도 받을 수 있어 추후 등록된 후 어떤 일을 수행할 수도 있다.






반응형

댓글