마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

마시멜로 이상 버전에서 권한 체크 시 오버레이

0 추천
안녕하세요.

개발하면서 마시멜로버전이상으로 타겟잡고, 기기도 마시멜로 이상이면 위험권한의 경우 해당 권한을 허용하도록 팝업을 만들어 사용하라고 해서 그렇게 작업하고 있습니다.

그런데 특정 기기에서는 권한을 띄워주는 팝업을 띄울 때, 오버레이가 감지되었다며 안드로이드에서 자체적으로 띄워주는데.. 다른 기기는 그런것이 없이 제대로 권한 팝업이 떠요 ㅠ

그 기기에 설치된 다른앱들이 오버레이를 사용해서 띄워준다는것 같은데.. 이 오버레이 팝업을 안뜨게 미리 세팅하거나 하는 방법은 없나요?

 

구글링하다가 TYPE_SYSTEM_ALERT란 권한을 허용하게 하고, 이 앱이 오버레이할 수 있도록.. 해당 권한 요청 전에 미리 오버레이 설정창으로 보낸 후에 허용하도록 하는 것으로 테스트 해봤으나.. 소용이 없네요. 이렇게 해결하는건 아닌거 같아요 ㅠㅠ

이 설정은 현재 앱이 다른 앱위에 그려질수 있도록 하는것 같고.. 제 문제는 다른앱들이 현재 앱위에 띄워질 수 없게 해야한다는것 같은데, 다른 앱들의 오버레이 권한까지 제어할 수는 없지 않나요..?

 

혹시 권한 받을 때, 오버레이 감지됨 팝업 안뜨게 하는 방법이 있나요..?
겸군님 (1,900 포인트) 님이 2017년 2월 15일 질문
겸군님님이 2017년 2월 16일 수정

2개의 답변

0 추천
 
채택된 답변
혹시 권한 요청하는 시점에 토스트 메시지가 뜬다거나 헤드업 디스플레이가 떠있는경우에도 질문자님 같은 현상이 발생 합니다.

OS에서 생각하는 오버레이 개념에 위의 경우가 포함되는거 같아요.

물론 실제 WindowManager를 사용해서 화면위에 어떠한 위젯이 떠있다거나 하는경우도 해당됩니다.

 

왜 이런 현상이 발생하는지는 저도 파악이 안되는데 뭔가 이유가 있으니까 이런식으로 해 놓았겠지요?;;
Development Guy (70,570 포인트) 님이 2017년 2월 15일 답변
겸군님님이 2017년 2월 16일 채택됨
감사합니다. 말씀해주신 답변처럼, 일단 권한 요청시에 발생하는 모든 토스트들을 제거하니 .. 일단 테스트폰 하나는 제대로 되는것 같아요 :)

오버레이 개념이 OS에서 .. 둘 이상의 레이어를 못띄우게하는거라면.. 한 어플리케이션을 실행했는데, 권한 팝업과 토스트 메시지가 동시에 뜨면 오버레이로 간주한다는 의미겠죠..?

어쨌든 더 알아봐야 겠네요 감사합니다!
0 추천
권한 팝업이 뜨는 시점에 오버레이가 떠 있는 경우 악성 앱이 권한 팝업의 내용을 가리고 다른 내용을 표시할 수 있기 때문에 보안상의 이유로 그렇게 동작하는 것 같습니다.

안 뜨게하는 방법은 아마도 없을 겁니다.

그런데 어느 기기에서 현상이 발생하나요? (기기명과 OS버전을 알면 도움이 될 수도 있습니다.)
익명사용자 님이 2017년 2월 15일 답변
회사 테스트폰이랑 제거랑 같이 해보고 있거든요.
회사폰은 누가 버전이고, 제거는 마시멜로인데..

회사폰에는 잡다한 어플들이 없어서 안뜨나 싶기도 하고.. 제거는 여러 어플들이 많아서 막고 있나 싶기도 하네요..
저도 알아보고 있는데 누가 버전에서는 강제로 오버레이를 중지 시키고 있어서 안뜹니다..
강제로 중지하는 방법은 찾아보고 있는데 아직 없는 듯하네요..
...