文章目录
- 需求场景
- 参考资料
- 源码分析
-
- 按键长按流程
-
- 查看配置
- 加载长按配置
- SingleKeyGestureDetector 手势按键
- 长按回调
- powerLongPress
- showGlobalActions()
- showGlobalActionsInternal()
- mGlobalActions.showDialog(keyguardShowing, isDeviceProvisioned());
- mGlobalActionsProvider
- LocalService
- 回归到:mGlobalActionsProvider
- StatusBarManagerService
- IStatusBar
- CentralSurfacesImpl.java
- CommandQueue
- handleShowGlobalActionsMenu
- GlobalActionsComponent
- GlobalActionsImpl
- 总结
需求场景
应用层模拟实现 物理Power按键长按功能。用户关机、重启界面功能就不需要再长按物理按键了
需求的目的:
- 物理按键长按到弹框的逻辑源码流程梳理:因为弹框是在SystemUI
里面的一个弹框,按键反馈是在Framework里面的。外部调用是在其它app或者也在Framework里面的。如何模调用或者间接调用SystemUI里面的成功提醒弹框。 - 举了一个例子,物理按键流程和SystemUI调用,整体梳理起来。
参考资料
个人以前写得总结,可参考,就是让两个东西融合进来,进一步整理。
KeyCode及KeyCode分发机制
MTK Android12 关机界面全屏展示
其它参考资料:
Android U Input 系统:单按键手势功能
RK3568 Android12 长按power键功能设置

订阅专栏 解锁全文
1451

被折叠的 条评论
为什么被折叠?



