본문 바로가기
호구지책/Java/Android

[안드로이드]갤러리 새로고침(Refresh)

by 하늘의흐름 2015. 8. 25.
반응형

안드로이드에서 갤러리새로고침이 기기 재부팅을 해도 안되는 경우가 있다.

갤러리 새로고침은 미디어 스캐닝을 해야 해결이 가능하다.



기존 킷켓(4.4) 이전에는

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
 Uri.parse("file://" + Environment.getExternalStorageDirectory())));

 

이렇게해서 갤러리를 갱신했었지만

 

킷캣부터 이렇게 바꼈다(테스트 해보니 아샌(4.0.3에서도 아래 소스가 통한다.)


private void galleryAddPic(String currentPhotoPath) {
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(currentPhotoPath); //새로고침할 사진경로
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);
}

저 currentPhotoPath에는 풀패스를 줘야 한다.


Intent.ACTION_MEDIA_SCANNER_SCAN_FILE는 단일파일 하나를 새로고침할 때 사용하고,

Intent.ACTION_MEDIA_MOUNTED는 하나의 폴더를 새로고침할 때 사용한다고 보면 되겠다.

여러개의 파일들을 새로고침하는데, 

같은 폴더에 있다면 ACTION_MEDIA_MOUNTED 옵션을 활용하는 것이 좋을 것이다.

 

참고 : 

http://yonoo88.tistory.com/21

http://www.codeproject.com/Questions/689342/Refresh-gallery-in-android-kitkat

반응형

댓글