SystemUI 虚拟按键音量调节

SystemUI 音量虚拟按键调节音量流程

1、首先查看 音量键的布局文件

     ./frameworks/base/packages/SystemUI/res/layout/volume_add.xml  

           

音量加减键都是自定义控件    com.android.systemui.statusbar.policy.KeyButtonView

2、自定义控件里面有重写 onTouchEvent,判断mCode值 即是 keyCode 不为0 后 直接通过sendEvent 发送按键值  

3、按键通过 InputManager 发送 由 frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 截取处理按键消息

     再由 AudioManager.java 处理音量加减

,h

3、此时回过来查看SystemUI 音量调节框显示 frameworks/base/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java

构造函数有使用到 VolumeDialogController 控制器 并且注册了mControllerCallbackH 和  mHandler 

4、查看 VolumeDialogController 源码 VolumeDialogController 有注册 声音调节的广播接收。

广播接收有处理音量的变化  mCallbacks.onStateChanged 即回调了 VolumeDialog 里面的 onStateChangedH 到此完成音量调节和SystemUI 音量调节

UI的更新

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值