- 시스템 설정
: 값의 범위 (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으로 했다가 되돌리려고 하면 되돌아 오지 않는 경향이 있음.
'Programming > Android Java' 카테고리의 다른 글
PowerManager 를 통해 안드로이드의 진정한 주인이 되어 봅시다. (0) | 2014.08.30 |
---|---|
안드로이드폰 시스템 버튼(홈,백,메뉴등) 밝기 제어 (0) | 2014.08.29 |
블루투스(Bluetoot)통신, SPP (1) | 2014.08.28 |
인텐트(02) (0) | 2014.08.27 |
공유하기 메뉴를 위한 Intent (0) | 2014.08.27 |