안드로이드에서 Settings에 보면 백라이트를 조절하는 옵션(Brightness)이 있습니다. SDK에서는 정식적으로 이것을 조절하는 API를 지원하지 않습니다. 여기서는 어플리케이션에서 백라이트를 조절하는 방법을 알아보겠습니다.

-Android SDK 1.5
안드로이드 SDK 1.5부터는 정식적으로 어플리케이션에서 백라이트를 조절하는 방법을 지원합니다.
1. WindowManager.LayoutParams.screenBrightness값을 정해서 Window.setAttributes()함수를 호출하여 처리할 수 있습니다.

-Android SDK 1.1
주의 : 이 방법은 Android SDK를 사용하지 않으므로 Android가 버전업될 때 호환이 되지 않을 수 있습니다. Android SDK 1.1에서 테스트되었으며 안드로이드의 버전에 따라 정상동작하지 않을 수 있습니다. 호환성을 보장하지 않으므로 꼭 필요한 경우가 아니라면 사용하지 않는 것이 좋습니다.

1. AndroidManefist.xml에 다음과 같은 퍼미션을 추가합니다.

<uses-permission android:name=”android.permission.HARDWARE_TEST”></uses-permission>

2. hardware09.jar를 다운받아 프로젝트에 포함시킵니다. (jar를 프로젝트에 포함시키는 방법)

3. 백라이트 값을 설정하는 코드는 다음과 같습니다.

      try {
         IHardwareService hardware = IHardwareService.Stub.asInterface(ServiceManager.getService("hardware"));
         if (hardware != null) {
            hardware.setScreenBacklight(brightness);
         }
      } catch (RemoteException doe) {
      }

brightness값은 0~255입니다. 255일때 밝기가 최대가 되고, 0일때는 Backlight가 완전히 꺼질수 있습니다. 현재 사용자가 설정할 수 있는 최저값은 30정도로 최대값은 255정도로 되어있으니 참고하시기 바랍니다.