늘모자란, 개발 :: [Android] Screen Overlay Detected issue [화면 오버레이 감지됨]

늘모자란, 개발

Marshmallow 는 여러모로 똥을 던져주는 버전같다.
이번에는 단순히 Intent로 앱을 호출했는데 스크린 오버레이 감지가 발생하는 경우를 겪게 되었다

흔히 다음과 같은 경우에 발생한다.
유저 편의를 위한답시고 Toast로 파일을 실행합니다.. 따위의 안내문을 출력하게 되는데, 안드로이드는 정말 똑똑한 머신이라 Toast를 출력하고 있는앱을 현재 실행하고 있는 앱으로 판단한다

때문에 이때 intent를 호출하거나 권한 승인 다이얼로그가 출력되면, 안드로이드는 이 새로운 손님을 화면위에 플로팅하는 오버레이앱이라고 판단해버린다. 즉, intent를 넘겨줄때는 반드시 모든 Toast가 종료된 후 실행되어야 한다.

화면 오버레이 감지됨을 피하는 방법

1. 모든 Toast가 꺼진 후 intent를 호출
2. 안내 Toast를 모두 제거

http://stackoverflow.com/questions/35453759/android-screen-overlay-detected-message-if-user-is-trying-to-grant-a-permissio?answertab=votes#tab-top

2017/02/28 14:40 2017/02/28 14:40