알림이 표시 될 때 사용자가 권한을 부여하려고하는 경우 Android '화면 오버레이 감지 됨'메시지


80

Nexus 6에 Android Marshmallow가 있습니다. 다음 문제를 해결하려고합니다.

알림이 표시되는 동안 사용자가 권한을 부여하려고하면 "화면 오버레이 감지 됨"메시지가 표시되고 권한 요청 대화 상자가 사라집니다. 물론 앱은 요청 된 권한을 얻지 못합니다. (스크린 샷 확인)

매니페스트에 android.permission.SYSTEM_ALERT_WINDOW- "DRAW OVER OTHER APPS"권한을 추가하여 문제를 해결하려고했지만 운이 없었습니다.

추신 : 알림으로 인해 문제가 발생한 것 같습니다. 다른 앱 위에 오버레이되는 앱이 설치되어 있지 않습니다. 심지어 설정에서 "다른 앱 위에 그리기"권한이있는 모든 앱을 해제했습니다. 도와주지 않았어 ..

누구든지 그 문제에 대한 해결책을 알고 있습니까?

여기에 이미지 설명 입력



@gsgsgs 다른 앱 위에 오버레이되는 앱이 없습니다. 어쨌든 설정에서 "다른 앱 위에 그리기"권한이있는 모든 앱을 껐습니다. 도움이되지 않았습니다. 질문에서 언급했듯이 문제는 앱이 아닌 알림으로 인해 발생합니다.
Alexi Akl

2
이것은 실제로 코드에서 '수정'할 수있는 것이 아닙니다. Android의 버그 (또는 기껏해야 잘못 생각한 오류 메시지)이며 Google은 향후 릴리스에서이를 수정해야합니다.
OpenGL ES 배우기

3
페이스 북 메신저가 열려있을 때 (백그라운드에서) 나에게 일어난다
Tim

1
토스트가 표시되는 경우에도 마찬가지입니다.
GLee

답변:


75

내가 우연히 만난 상황에서 나는 스스로 문제를 일으키고 있었다. Toast권한을 요청하는 동시에 사용자에게 정보를 표시 하기 위해 a 를 사용한 결과였습니다 . 이 두 작업이 함께 이러한 유형의 오류를 발생시킵니다.

다른 답변은 다른 사람의 문제를 해결할 수 있습니다. 하지만 자신의 오버레이 오류가 발생하지 않도록주의해야합니다. 권한을 요청하는 동시에 뷰에 무언가를 오버레이하지 않도록주의하세요.


4
나는 같은 문제에 직면하여 토스트를 제거하고 나타나지 않습니다.
shijin

1
똑같이 직면했습니다. 토스트 제거 및 마법처럼 일
데니스 앤더슨

1
이 솔루션으로 똑같은 문제가 해결되었습니다. 허가를 요청하기 직전에 건배 메시지를 보여주고있었습니다.
Sandoval0992

이것은 나를 위해 해결되었습니다. Toast디버깅에 사용 했습니다. 이것은 또한 사람들이 이것을 갖는 주요 이유 일 수 있습니다.
Minoru

Toast to display information to the user at the same time that I was asking for permission도움이 ..
Shailendra Madda

8

Clean Master 앱을 제거합니다. 나는 그것을 제거하고 문제가 해결되었습니다.


2
나는 이것을 시도했지만 도움이되지 않았다. 반대로 불필요한 설치 해제가 발생했습니다.
user3251882

1
나는,이 시도 했던 도움을. 필요한 un 설치가 발생했습니다. 감사! (Sony Xperia Z3)
Justin

1
제거가 해결책이되어서는 안됩니다. 정답은 stackoverflow.com/a/39826828/2724626 을 확인하십시오 .
akshay

제 경우에는 Facebook Messenger제거 할 필요없이 강제 종료했습니다.
Hamzeh Soboh

5

이 문제는 Twilight, cleaner-master, drupe 등과 같은 일부 범인 응용 프로그램 때문에 나타납니다.

이 문제를 해결하려면 해당 범인 앱에 대한 화면 오버레이를 비활성화해야합니다.

나는 moto g4 plus를 가지고 있으며 이것이이 문제를 해결하는 방법

설정-> 앱 선택 ---> 다시 앱에서 설정 아이콘 선택 ---> 다른 앱 위에 그리기 ---> 선택하고 다른 앱에 문제가있는 범인 앱을 비활성화합니다.

내가 한 일은이 권한을 비활성화하여 각 앱을 확인하고 내 앱을 실행하려고 시도하는 것입니다. 다른 앱에 대해 문제가되는 오버레이를 발견 한 하나의 앱을 발견 했으므로 결국이 앱만 비활성화했습니다.

스크린 샷 :

앱 선택 구성 설정 선택

다른 앱 위에 그리기 선택범인 앱 비활성화


내 모바일에서 MobileGoConnector 및 모바일 이동하지 쇼
Keshav 게라

내가 지금 무엇을해야합니까
Keshav 게라

1
@KeshavGera 그것은 결코 .. 내부 응용 프로그램이 아닌 bcz 외부에서 설치했습니다. 당신을 위해 그것은 오버레이 문제를 일으키는 다른 응용 프로그램이 될 것입니다 .. 제 경우에는이 두 응용 프로그램이 오버레이 문제를 일으키는 것입니다.
Sagar Chavada

@KeshavGera 당신은 오버레이 권한을 사용하지 않도록 설정하여 각 응용 프로그램을 확인해야합니다 ..
사가르 Chavada에게

3

여기에 여러 답변과 다른 포럼에서 통찰력을 얻었습니다.

내가 어떻게 문제를 제거했는지 통합 :

  1. 설정> 앱> (문제가 발생한 앱)으로 이동합니다.
  2. 전원 끄기, 재부팅, 비행기 모드가 나타날 때까지 전원 버튼을 누릅니다.
  3. 전원 끄기 옵션 유지
  4. 안전 모드에서 재부팅 선택
  5. 설정> 앱> (문제가 발생한 앱)으로 이동합니다.
  6. 원하는 권한을 선택하십시오.
  7. Android M 업데이트 후 Messenger, Whatsapp, Prisma 등과 같은 앱에서 문제가 발생할 수 있습니다.

문제가 있으면 알려주십시오.

참고 : One plus One 모바일을 사용하고 있습니다.


1
그러나 개발자로서 우리는이 (안전 모드에서 재부팅) 접근 방식이 아닌 코딩으로 솔루션을 해결하기를 원합니다.
Rakesh Yadav

당신은 올바른 Rakesh입니다. 이것은 이상적인 해결책이 아닙니다. 하지만 지금까지 모바일에서 작동하는 다른 솔루션이 없습니다.
user3251882

지금 나를 위해 일했습니다!! Google이 Nougat + 릴리스에서 수정하기를 바랍니다.
Surendra Kumar

1

방금 앱을 삭제하고 Nexus 6P를 껐습니다. 다시 켠 후 앱을 다시 설치했고 앱 권한을 부여 할 때 더 이상 "화면 오버레이"대화 상자가 나타나지 않습니다.


1
이것은 답변보다 댓글에 더 가깝습니다. 이것이 작동하는 이유를 조금 확장 할 수 있습니다. 답변 방법
AgataB 2015 년

1
@AgataB 저는 StackOverflow를 처음 사용합니다. 나는 당시에 댓글을 달 수있는 권한이 없었고 전화를 끄고 앱을 제거하는 것이 작동하는 이유를 알지 못했으며 도움이 될 것이라고 생각했습니다.
대학생

1

이 팝업은 매니페스트에서 선언 한 manifest.PERMISSION.SYSTEM_ALERT_WINDOW 권한으로 인해 발생합니다 .

개발자가 알아야 할 권한의 세 가지 범주는 다음과 같습니다.

일반 권한-그들과 함께 아무것도하지 않고 Manifest에서 선언하십시오.

취약한 권한 -Manifest에서 선언하고 처음에 권한을 요청합니다. 시스템 설정을 통해 변경할 수 있습니다.

위의 위험한 권한 : SYSTEM_ALERT_WINDOWWRITE_SETTINGS 가이 범주에 속합니다. 부여해야하지만 시스템 설정에 표시되지 않습니다. 이를 요청하려면 표준 방식 (int checkSelfPermission (String permission))을 사용하지 않지만 Settings.canDrawOverlays () 또는 Settings.System.canWrite ()를 적절하게 확인해야하며 그렇게하지 않으면 다음과 같은 예외가 발생합니다.

android.view.ViewRootImpl$W@1de28ad 창을 추가 할 수 없습니다.이 창 유형에 대한 권한이 거부되었습니다.

1- 아래와 같이 코드에서 직접이 권한을 요청하십시오.

public class MainActivity extends AppCompatActivity {

public final static int REQUEST_CODE = 10000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (checkDrawOverlayPermission()) {
          Toast.makeText(this, "Permission granted", Toast.LENGTH_SHORT).show();
    }
}

public boolean checkDrawOverlayPermission() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
        return true;
    }
    if (!Settings.canDrawOverlays(this)) {
        Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
            Uri.parse("package:" + getPackageName()));
        startActivityForResult(intent, REQUEST_CODE);
        return false;
    } else {
        return true;
    }
}

@Override
@TargetApi(Build.VERSION_CODES.M)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE) {
        if (Settings.canDrawOverlays(this)) {
              Toast.makeText(this, "Permission granted", Toast.LENGTH_SHORT).show();
        }
    }
}

0

목록에 표시되는 모든 앱에 대해 오버레이를 비활성화해야합니다. 이 방법으로 만 필요한 앱에서 권한을 수정할 수 있습니다. 나는 그것을 안전 모드에서 수행했으며 작동했습니다. 결국 나는 전화를 재부팅했고 이제는 잘 작동합니다.


0

Sony Xperia Z3 (Dual Sim)을 Android 6.0.1 (Marsmallow)로 업데이트했습니다. 화면 오버레이 문제가 발생했습니다. 저에게는 Clean Master, Du Speed ​​또는 Du Booster가 없습니다 (제가 읽은 솔루션).

그래서 화면 오버레이 앱을 찾고 내 문제를 해결했습니다.

화면 오버랩 앱은 홈 화면을 벗어나지 않고 기본 홈 화면의 다른 앱에 액세스하는 데 사용할 수있는 앱입니다. 그래서 제 상황에서 여기 화면 오버레이 앱은 OMNI SWIPE 였습니다. 따라서이 문제에 직면 한 경우 진정하고 화면 오버레이 앱의 정의에 맞는 앱을 확인해야합니다.

앱을 찾아 제거한 다음 휴대 전화를 다시 시작하세요.

방금이 일을 끝내고 전화로 즐거운 시간을 보내고 있습니다.

행운을 빕니다


0

이 "오버레이 경고"가 이유없이 표시되는 일부 장치 (내 분석 데이터에 따르면 장치의 2 ~ 5 %)에서 Android 6.x에 버그가있는 한, 최선의 해결책은 다음과 같이 전체 권한 프로세스를 피하는 것입니다. targetSdk를 22로 정의합니다.

새 버전에 대한 대상 SDK를 다운 그레이드 할 수 없습니다. 그렇지 않으면 사용자가 앱을 제거 / 설치해야하는 업데이트시 INSTALL_FAILED_PERMISSION_DOWNGRADE 오류가 발생합니다.



0

이는 악성 앱에 오버레이 권한을 부여했을 때 발생합니다. 오버레이 설정으로 이동하여 Google에 속하지 않는 모든 앱에서 오버레이 기능을 비활성화하면 좋습니다.


-1

새 앱을 설치할 때이 문제가 발생했습니다. 이 문제를 해결하는 방법은 새로 설치된 앱에 대한 권한을 수동으로 활성화하는 것입니다 (앱을 실행하기 전에). 특히 Android 및 삼성 기기의 문제라고 확신합니다. 도움이 되었기를 바랍니다


-4
  1. CM 보안, Clean Master 등 화면 오버레이가있는 앱을 삭제합니다.

  2. 필요한 경우 Messenger (FB 앱)를 삭제하고 사용해보십시오.


나는 이것을 시도했지만 도움이되지 않았다. 반대로 불필요한 설치 해제가 발생했습니다.
user3251882

때로는 앱이 처음에 설치된 이유가 있습니다.
Alen Siljak

아니. Clean Master 앱 및 / 또는 Facebook 메신저 앱을 다시 설치하면됩니다. 이것은 나를 위해 문제를 해결했습니다.
Omkar Nibandhe 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.