Android/소스코드
화면캡쳐 방지 소스코드
덩치
2014. 3. 26. 13:21
어플 화면이 캡쳐되지 않도록 해달라는 요청을 받고 검색하다가 발견한 소스코드.
불가능할줄 알았는데 api level 1부터 이런게 있었다니 .. 충격
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
정확한 원리는 모르겠는데 몇몇 기종으로 테스트 해 본 결과
어떤 폰에서는 캡쳐기능을 사용할 수 없습니다 라는 토스트를 출력하고
어떤 폰에서는 캡쳐 직전 바로 검은 화면을 띄워서 해당 화면이 캡쳐되도록 하는 듯 하다.
위 코드 한줄만 넣어주면 적용 완료.
특정 영역에서만 캡쳐를 방지하고싶다면, 이외의 영역에는
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
를 추가하면 된다.
참고로 액티비티가 액티브되고 있는 상태에서만 적용. 즉 홈화면으로 나가서 캡쳐를하면 제대로 캡쳐가 된다.