Android LCD和键盘 背光亮度设置(二)

2014-11-24 07:48:48 · 作者: · 浏览: 7
/ update our animation state


if (ANIMATE_SCREEN_LIGHTS) {


mScreenBrightness.curValue = brightness;


mScreenBrightness.animating = false;


mScreenBrightness.targetValue = -1;


}


if (ANIMATE_KEYBOARD_LIGHTS) {


mKeyboardBrightness.curValue = brightness;


mKeyboardBrightness.animating = false;


mKeyboardBrightness.targetValue = -1;


}


if (ANIMATE_BUTTON_LIGHTS) {


mButtonBrightness.curValue = brightness;


mButtonBrightness.animating = false;


mButtonBrightness.targetValue = -1;


}


}


由以上代码可知,同时设置了背光、键盘、按钮的亮度。mHardware 是硬件服务,通过该服务调用底层与设备打交道的C\C++代码,setLightBrightness_UNCHECKED原型如下:


文件:frameworks/base/services\java\com\android\server\HardwareService.java


void setLightBrightness_UNCHECKED(int light, int brightness, int brightnessMode) {


int b = brightness & 0x000000ff;


b = 0xff000000 | (b << 16) | (b << 8) | b;


setLight_native(mNativePointer, light, b, LIGHT_FLASH_NONE, 0, 0, brightnessMode);


}