펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO
어플 화면이 캡쳐되지 않도록 해달라는 요청을 받고 검색하다가 발견한 소스코드.
불가능할줄 알았는데 api level 1부터 이런게 있었다니 .. 충격
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
정확한 원리는 모르겠는데 몇몇 기종으로 테스트 해 본 결과
어떤 폰에서는 캡쳐기능을 사용할 수 없습니다 라는 토스트를 출력하고
어떤 폰에서는 캡쳐 직전 바로 검은 화면을 띄워서 해당 화면이 캡쳐되도록 하는 듯 하다.
위 코드 한줄만 넣어주면 적용 완료.
특정 영역에서만 캡쳐를 방지하고싶다면, 이외의 영역에는
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
를 추가하면 된다.
참고로 액티비티가 액티브되고 있는 상태에서만 적용. 즉 홈화면으로 나가서 캡쳐를하면 제대로 캡쳐가 된다.
'Android > 소스코드' 카테고리의 다른 글
현재 설치된 어플명,패키지,버전 검색, 삭제방법 (0) | 2014.04.10 |
---|---|
패키지 설치여부 체크하는 소스코드 (0) | 2014.04.07 |
어플리케이션에서 디바이스 설정창 실행시키는 방법 (0) | 2014.03.24 |
바이트(byte)로 된 파일 또는 바이트 배열 수정하는방법에 대해 (0) | 2014.03.20 |
리스트뷰 커스텀 (Custom ListView) 예제입니다. (0) | 2014.03.13 |