안녕하세요. 


안드로이드 폰들의  버튼 (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. 
1.float value;
1.if (onOff)
1.value = winParams.BRIGHTNESS_OVERRIDE_NONE;
1.else
1.value = winParams.BRIGHTNESS_OVERRIDE_OFF;
1. 
1.if (Build.VERSION.SDK_INT < 8) {
1.// hack for pre-froyo to set buttonBrightness off
1.try {
1.Field buttonBrightness = winParams.getClass().getField(
1."buttonBrightness");
1.buttonBrightness.set(winParams, value);
1.catch (Exception e) {
1.e.printStackTrace();
1.}
1.else {
1.winParams.buttonBrightness = value;
1.}
1. 
1.win.setAttributes(winParams);
1.}


풀 소스는 첨부하였습니다. 


실행하면 2초 단위로  버튼 백라이트 on/off 해야 정상이랍니다. 


on/off 안하면  가지고 계신 폰이 삼성 처럼 지들 맘대로 수정해서 안드로이드 호환성이 떨어지는 것이랍니다 ^^


수고하세요!