반응형
앱에서 스크린샷을 막는 방법은 아주 간단하다
액티비티 안에서 FLAG_SECURE를 SET 해주면 된다.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
허나 이 플래그를 언제 SET해주는게 좋을 까?
케이스는 2가지 이다
1. 앱 사용 내내 스크린샷을 막고 싶을 때
이는 onCreate()에서 set 해주면 된다
public void onCreate() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
2. 앱에서 스크린샷은 허락하나 recent app으로 넘어갈때 스냅샷을 막고 싶을 때
만약 앱에서 screenshot은 허용하나 recent app으로 넘어갈 때 썸네일 이미지를 가리고 싶다면
onPause에서 set 해주고 onResume에서 clear 해주면 된다
@Override
protected void onResume() {
super.onResume();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
@Override
protected void onPause() {
super.onPause();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
반응형
'Android > 디버깅' 카테고리의 다른 글
[Android] 커스텀 뷰 invalidate 사용 시 주의 사항 (0) | 2022.08.22 |
---|---|
[Android] RecyclerView 데이터 꼬일 때 (0) | 2022.06.28 |
[Android] Room DB 에서 query함수 동작 안할 때 (0) | 2022.06.24 |
[Android] AlertDialog에서 showSoftInput 동작 안할 때 (0) | 2022.06.23 |
Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager (0) | 2022.04.13 |
댓글