안녕하세요. 


안드로이드 폰들의  버튼 (Home, Back, Menu 등) 들이  보통 터치버튼이고, 

터치할 때 불이 들어오잔아요. 


이것도  프로그램으로 제어가 가능하기는 하더군요. 


그런데,  삼성폰은 안됩니다 ( 갤럭시S, S2  다 안됨) 



코어 함수는 아래와 같구요. 


 private void setButtonBacklight(boolean onOff) {
    	final Window win = getWindow();
    	final WindowManager.LayoutParams winParams = win.getAttributes();
    	winParams.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
    	float value;
    	if (onOff)
    		value = winParams.BRIGHTNESS_OVERRIDE_NONE;
        else 
        	value = winParams.BRIGHTNESS_OVERRIDE_OFF;
    	if (Build.VERSION.SDK_INT < 8) {
    	    // hack for pre-froyo to set buttonBrightness off
    	    try {
    	        Field buttonBrightness = winParams.getClass().getField(
    	                "buttonBrightness");
    	        buttonBrightness.set(winParams, value);
    	    } catch (Exception e) {
    	        e.printStackTrace();
    	    }
    	} else {
    	    winParams.buttonBrightness = value;
    	}
    	win.setAttributes(winParams);
    }


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


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


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


수고하세요!