안드로이드 개발 정보
(글 수 568)
안드로이드에서 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. 백라이트 값을 설정하는 코드는 다음과 같습니다.
brightness값은 0~255입니다. 255일때 밝기가 최대가 되고, 0일때는 Backlight가 완전히 꺼질수 있습니다. 현재 사용자가 설정할 수 있는 최저값은 30정도로 최대값은 255정도로 되어있으니 참고하시기 바랍니다.
-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정도로 되어있으니 참고하시기 바랍니다.
제 폰은 넥원에 2.2.1 입니다.
IHardwareService 이게 없다고 하는데.. 뭐가 잘못된건지 도무지 모르겠어요..!!