투케이2K

161. (kotlin/코틀린) [유틸 파일] getDisplayBright : 현재 화면 밝기 확인 본문

Kotlin

161. (kotlin/코틀린) [유틸 파일] getDisplayBright : 현재 화면 밝기 확인

투케이2K 2023. 1. 6. 08:48

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        fun getDisplayBright(activity: Activity): String {

            /**
             * // -----------------------------------------
             * [getDisplayBright 메소드 설명]
             * // -----------------------------------------
             * 1. 현재 화면 밝기 확인
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.getDisplayBright(A_Main@this)
             *
             * // -----------------------------------------
             * 3. 리턴 : 83%
             * // -----------------------------------------
             * 4. 필요 퍼미션 :
             *
             * <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions"></uses-permission>
             * // -----------------------------------------
             */


            // [정상 수행 여부]
            var returnData = ""
            var sys_value = 0
            var sys_Perc = 0.0
            var sys_brightness = 0.0


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

                // [화면 정보 불러오기]
                val params = activity.window.attributes

                // [안드로이드 시스템 화면 밝기 설정값 가져 오기 : 0 ~ 255]
                sys_value = Settings.System.getInt(activity.contentResolver, Settings.System.SCREEN_BRIGHTNESS)

                // [0 ~ 100 퍼센트 값]
                sys_Perc = sys_value.toDouble() / 255.0 * 100.0
                sys_Perc = String.format("%.1f", sys_Perc).toDouble() // 소수점 한자리까지 출력

                // [0 ~ 1 사이 값 : 빛 밝기 값 설정 시 사용]
                sys_brightness = String.format("%.1f", sys_Perc / 100).toDouble() // 소수점 한자리까지 출력

                // [리턴 변수에 삽입]
                returnData = sys_Perc.toString() + "%"

            } catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력 실시]
            ///*
            Log.i("---","---")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_App >> getDisplayBright() :: 현재 화면 밝기 확인]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[sys_value :: "+sys_value.toString()+"]")
            Log.i("","\n"+"[sys_Perc :: "+sys_Perc.toString()+"]")
            Log.i("","\n"+"[sys_brightness :: "+sys_brightness.toString()+"]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[RETURN :: "+returnData.toString()+"]")
            Log.d("//===========//","================================================")
            Log.i("---","---")
            // */


            // [리턴 반환 실시]
            return returnData
        }
 

[결과 출력]


 

반응형
Comments