안녕하세요. 개발자님들..
그룹웨어 어플을 개발 중인데요, 회사 기밀이 들어가 있는 메일이나, 게시판 등을
화면 캡쳐를 못하게 하려고 안드로이드 기본 제공인 onKeyDown() 메서드를
다음과 같이 오버라이딩 했습니다. 그 결과 성공적으로 캡쳐 버튼이 막혀지나,,,,
<코드>
@Override // 캡쳐 버튼 사용 불가
public boolean onKeyDown(int keyCode, KeyEvent msg) {
if(keyCode == 80 || keyCode == 27) // 80, 27번이 캡쳐 버튼입니다.
{
Log.d("mLinkTest", "keyCode == 80 || 27");
return true; // 80, 27번이 눌려지면(키 값으로 들어오면) 바로 리턴해서 나갑니다.
}
reStartTimer();
return super.onKeyDown(keyCode, msg);
}
문제는, 안드로이드의 메뉴버튼(옵션메뉴버튼)을 클릭하고 캡쳐 버튼을 클릭하면 다시 캡쳐가 된다는 것 입니다. ㅡㅡ;
항간의 말을 빌리자면 옵션 메뉴 버튼을 클릭하면 프로그램 제어권이 다시 기본 안드로이드 OS로 넘어가서, 어플단에서의
컨트롤이 안 먹혀서 이런 일이 일어난다고 하는데,,,,
과연 , 해결 방법이 있는지요? 부탁드리겠습니다. ㅠㅠ
그냥 메뉴에서 캡쳐 기능을 빼면 되지 않나요?
하지만 캡쳐 자체를 완전히 막는 것은 불가능할 겁니다.
일부 폰은 아예 폰 자체에 캡쳐 기능이 있구요, PC에 연결해서 ADB로 캡쳐하는 것은 못 막을 겁니다.