개발자의 끄적끄적

[Android] 안드로이드_갤러리에 이미지 안나오게 하기, 미디어 스캔 회피하기 (feat. .nomedia 파일) [펌] 본문

개발/android & ios

[Android] 안드로이드_갤러리에 이미지 안나오게 하기, 미디어 스캔 회피하기 (feat. .nomedia 파일) [펌]

효벨 2020. 9. 15. 02:00
728x90
반응형

[Android] 안드로이드_갤러리에 이미지 안나오게 하기, 미디어 스캔 회피하기 (feat. .nomedia 파일) [펌]

-.nomedia 파일을 이용한 미디어 스캔 피하기-


어플리케이션 개발을 하다보면

 

이미지를 특정 경로에 저장하는 경우가 생길수 있는데

 

문제는 해당 특정경로에 저장되어있는 이미지를 모바일에서 자동으로 스캔을 하여

갤러리에 표시가 되는 문제가 생겼다.

 

굳이 보여줄 필요가 없는데 말이다.

 

그러다가 알게된게미디어 스캔을 회피할 수 있는 방법이 있다 하는데

바로.nomedia파일을 만들어서 미디어 스캔을 피하는 것이다.

 

.nomedia파일은 0byte짜리의 빈껍대기 파일인데

이게미디어스캔을 회피할 수 있게 만들어준다.

 

만드는 방법은 간단하다.

//.nomedia 파일 생성
public void createFile() {

    try {
        File nomediaFile = new File(mDataPath + "/.nomedia");
        if(!nomediaFile.exists()){
            nomediaFile.createNewFile();
        }
    }
    catch (Exception e) {
        Log.d("fileError", "create .nomediaFile error ", e);
    }
}

자주 사용하던 파일이나 폴더를 만드는 방식과 동일하다

 

특정 경로가 있다면 해당 고정된경로에 .nomedia파일을 생성만 해주면

자동으로 미디어 스캔을 회피해 갤리러에 해당 이미지들이 보이는것을 막을수가 있다.

 

.nomedia파일은하위 경로까지 전부 막아주므로 공통 경로에 하나만 만들어놓으면

하위 경로는 전부 미디어 스캔을 회피하게된다.

 

이러한 개발형식이 아니라 그냥 자체적으로 숨기고싶다면

해당 폴더로 가서 파일만들기를 통해 .nomedia파일을 만들어주면 된다.

 


생각보다 간단하게 해결할 수 있어서 다행이다.

(.nomedia 생성후 조금 있어야 갤러리에서 반응을 하니 기다려보자)

 

 

출처 : mine-it-record.tistory.com/category/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Android

반응형
Comments