Android 화면 가리고 스크린 캡처 방지하기

동기

  • 개발하고 있는 앱의 Android 버전에는 자체적으로 잠금 기능이 있습니다.
  • 잠금 기능을 사용하고 있는 사용자 중 최근 화면(멀티태스킹)에서 내용물을 보여주고 싶어하지 않는 사용자가 있습니다.
  • 그래서 최근 화면에서 앱의 내용을 가리는 수정을 진행하게 되었습니다.
  • Android에서는 이 대응을 하게 되면 스크린 캡처도 방지가 되었습니다.

구현

  • 모든 화면의 근간이 되는 Activity의 onCreate에서 아래와 같은 코드를 구현합니다.
  • Activity 자신의 window에 Flag를 추가하는 방식입니다.
  • Flag 중에서 FLAG_SECURE를 추가하면 이 기능을 손쉽게 구현할수 있었습니다.
window.addFlags(WindowManager.LayoutParams.FLAG_SECURE)

변화

android-prevent-capture