Android-Android 触摸屏按键背光灯控制

WP主题Bug提交 WP主题Bug提交 主题:1067 回复:2226

Android-Android 触摸屏按键背光灯控制

偏爱自由 发布于 2017-08-24 字数 360 浏览 968 回复 1

现在在做手机触摸屏按键背光灯的控制,我已经把driver和HAL做好了,可以在/sys下面手动输入命令控制背光灯的开闭,但LightsService并没有自动的来设置背光灯,log信息如下:

...
D/PowerManagerService( 957): setScreenBrightnessOverride -1
D/PowerManagerService( 957): setButtonBrightnessOverride -1
...

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

灵芸 2017-09-21 1 楼

终于把这个问题解决了,跟了好久的log,在PowerManagerService.java的userActivity()里面有如下代码:

if (eventType == BUTTON_EVENT && !mUseSoftwareAutoBrightness) {
mUserState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT);
} else {
// don't clear button/keyboard backlights when the screen is touched.
mUserState |= SCREEN_BRIGHT;
}

代码里面判断当前事件类型是否为BUTTON_EVENT,并且检测mUseSoftwareAutoBrightness是否为false,如果是则下一个状态为SCREEN_BUTTON_BRIGHT(mKeyboardVisible 为false),这个状态下系统会去控制触摸屏按键背光灯;如果mUseSoftwareAutoBrightness为true则下一个状态为SCREEN_BRIGHT,这个状态下不会去控制触摸屏按键背光灯。因为默认为true,所以我们只需要把mUseSoftwareAutoBrightness设置为false就ok了。