본문 바로가기
Programming/Android Java

안드로이드 화면 밝기 조정

by 개Foot/Dog발?! 2014. 8. 29.
URL : http://swindowsit.blogspot.kr/2014/03/android-screen.html


- 시스템 설정

: 값의 범위 (0~255)

- 앱 밝기 조정

: (0.00~1.00, 0으로 하면 화면 완전 꺼짐)


* 밝기 자동 조절로 하면 변화가 없을 수 있다.


1. 시스템 설정

퍼미션 필요 

<user-permission android:name = "android.permission.WRITE+SETTINGS"/>


설정된 밝기 값 가져오기

android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS);


자동밝기 설정 상태 가져오기

android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE


밝기 설정 변경하기

android.provider.Settings.System.putInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS, value);

//value = (0~255)


자동밝기 설정 변경하기 

android.provider.Settings.System.putInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE, value);

//value = 0, 꺼짐 = Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL

//value = 1, 켜짐 = Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC


2. 앱 밝기 조정


앱 화면에서 화면 항상 켜지게 하기

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

앱 화면에서 화면 항상 켜지게 하기 해제

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);


앱 화면 밝기 설정하기

WindowManager.LayoutParam params = getWindow().getAttributes();

params.screenBrightness = (float)value;

//value (0.00~1.00)

getWindows().setAttributes(params);


앱의 사용자 밝기를 사용하지 않고 시스템 밝기와 동일하게 밝기로 만든다.

params.screenBrightness WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;


앱의 밝기를 완전히 끈다. 값은 0이다.

params.screenBrightness WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF;


** 삼성폰등 일부 제조사폰은 밝기를 앱의 밝기를 0으로 했다가 되돌리려고 하면 되돌아 오지 않는 경향이 있음.