투케이2K

286. (TWOK/ERROR) [Android] WindowManager BadTokenException permission denied for window type 본문

투케이2K 에러관리

286. (TWOK/ERROR) [Android] WindowManager BadTokenException permission denied for window type

투케이2K 2024. 11. 20. 19:45

[환경 설정 및 설명]

프로그램 : AndroidStudio

설 명 : [Android] WindowManager BadTokenException permission denied for window type

 

[설 명]

 

--------------------------------------------------------------------------
[에러 원인]
--------------------------------------------------------------------------

1. 안드로이드 빌드 버전이 누가 (7.0) 이상 인 경우 WindowManager 를 사용해 addView 추가 시 
   Settings.canDrawOverlays 앱 위에 표시 권한 허용 설정 필요

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[해결 방법]
--------------------------------------------------------------------------

1. 안드로이드 Build.VERSION.SDK_INT >= 23 이상 Settings.canDrawOverlays 앱 위에 표시 권한 부여 상태 체크 및 인텐트 이동 로직 추가

    if (Build.VERSION.SDK_INT >= 23) {

        if (!Settings.canDrawOverlays(A_Webview.this)) { // [권한이 부여 되지 않음]
            S_Log._E_("WebChromeClient :: Permission Not Grant", null);

            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                    Uri.parse("package:" + getPackageName()));

            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            startActivity(intent);

            return;
        }
        
    }

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[참고 사이트]
--------------------------------------------------------------------------

https://stackoverflow.com/questions/46208897/android-permission-denied-for-window-type-2038-using-type-application-overlay

--------------------------------------------------------------------------

 

반응형
Comments