Android O按键背光功能

前言:客户需要在android 8.0上实现按键背光功能,我记得在android 5.1上只需要设置一个config即可(config_button_light_enabled),但是框架变化太大,config找不到了,只能询问高通。然后,高通说8.0没做……(Google did not add interface for button backlight
need you release it from L to O.)

自己动手,丰衣足食,开始移植。
按键监听还是在PhoneWindowManager啦~
初始化:

/** {@inheritDoc} */
    @Override
    public void init(Context context, IWindowManager windowManager,
            WindowManagerFuncs windowManagerFuncs) {
            ...
            mLightsManager = LocalServices.getService(LightsManager.class);
        mLight = mLightsManager.getLight(LightsManager.LIGHT_ID_BUTTONS);
        mButtonBrightness = 2;
        mButtonLightTimeout = 4000;
            ...
}

主要实现方法:

private void setButtonLightEnabled(boolean on) {
        mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
        mHandler.removeMessages(MSG_BBL_TIMEOUT);
        if (on) {
            mLight.setBrightness(mButtonBrightness);

            mHandler.sendMessageDelayed(
                    mHandler.obtainMessage(MSG_BBL_TIMEOUT),
                    mButtonLightTimeout);
        } else {
            mLight.setBrightness(0);
        }
    }

handler里面添加自动灭灯的流程:

case MSG_BBL_TIMEOUT:
    mLight.setBrightness(0);
        break;

其他定义的地方就不详细写了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值