안녕하세요.
안드로이드 폰들의 버튼 (Home, Back, Menu 등) 들이 보통 터치버튼이고,
터치할 때 불이 들어오잔아요.
이것도 프로그램으로 제어가 가능하기는 하더군요.
그런데, 삼성폰은 안됩니다 ( 갤럭시S, S2 다 안됨)
코어 함수는 아래와 같구요.
1.
private
void
setButtonBacklight(
boolean
onOff) {
1.
final
Window win = getWindow();
1.
final
WindowManager.LayoutParams winParams = win.getAttributes();
1.
winParams.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
1.
value = winParams.BRIGHTNESS_OVERRIDE_NONE;
1.
value = winParams.BRIGHTNESS_OVERRIDE_OFF;
1.
if
(Build.VERSION.SDK_INT <
8
) {
1.
Field buttonBrightness = winParams.getClass().getField(
1.
buttonBrightness.set(winParams, value);
1.
}
catch
(Exception e) {
1.
winParams.buttonBrightness = value;
1.
win.setAttributes(winParams);
풀 소스는 첨부하였습니다.
실행하면 2초 단위로 버튼 백라이트 on/off 해야 정상이랍니다.
on/off 안하면 가지고 계신 폰이 삼성 처럼 지들 맘대로 수정해서 안드로이드 호환성이 떨어지는 것이랍니다 ^^
수고하세요!