투케이2K

734. (Android/Java) 안드로이드 canDrawOverlays 사용해 시스템 오버레이 권한 부여 확인 본문

Android

734. (Android/Java) 안드로이드 canDrawOverlays 사용해 시스템 오버레이 권한 부여 확인

투케이2K 2024. 1. 30. 20:09

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [Android 6] : [시스템 오버레이 권한 부여 확인]
    // -----------------------------------------------------------------------------------------
    public static boolean getSystemOverlayPermissionEnable(Context mContext){

        /**
         * -------------------------------------------
         * [호출 방법]
         *
         * C_Permission.getSystemOverlayPermissionEnable(A_Intro.this);
         * -------------------------------------------
         * */

        // [Context 지정]
        context = mContext;

        // [초기 리턴 변수 선언]
        boolean resultData = false;

        // [로직 처리 수행 실시]
        try {

            ///*
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ // [마시멜로우 이상]

                if (Settings.canDrawOverlays(mContext) == true){
                    // ===============================================================
                    S_Log._F_(mContext, "Android 마시멜로우 이상 >> 시스템 오버레이 권한 부여 확인", null);
                    // ===============================================================

                    // [리턴 결과 삽입 실시]
                    resultData = true;
                }
                else {
                    // ===============================================================
                    S_Log._F_(mContext, "Android 마시멜로우 이상 >> 시스템 오버레이 권한 부여 안됨", null);
                    // ===============================================================

                    // [리턴 결과 삽입 실시]
                    resultData = false;
                }
            }
            else {
                // ===============================================================
                S_Log._F_(mContext, "Android 마시멜로우 미만 >> 하위 디바이스", null);
                // ===============================================================
            }
        }
        catch (Exception e){
            S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
        }

        // [결과 리턴 실시]
        return resultData;
    }

반응형
Comments