SuperIC社区_
标题: Android按键事件流程 [打印本页]
作者: sean 时间: 2016-9-28 20:33
标题: Android按键事件流程
前段时间正好学习InputManagerService,自己也做了些笔记。由于在网上找到更详细的资料,故在这就不贴自己的笔记,分享个链接,有兴趣的就看看吧
http://www.feeyan.cn/?p=280 Android按键事件传递流程
以下内容是资料的大体组成介绍。
做Android开发的少不了对触摸、按键事件进行处理,对于手机来说,主要是手势移动、触摸按下等,而TV主要通过遥控器、按键操作,按键事件不同于触摸事件,必须先获得焦点,然后才能移动、选择。
Android输入设备支持鼠标、键盘(按键)、触摸屏(单点、多点)、轨迹球等,这些设备所产生的输入事件Input Event从底层驱动开始经过input子系统核心层到达Event Handler事件层,最终把事件copy_to_user到用户空间,然后由用户空间层获取这些事件进行分发、传递。整个过程涉及到内核层、Framework层以及应用层,内核层传递过程不在本文研究范围内,本文主要对按键事件在Framework层、应用层的传递过程进行分析(本文基于Android5.1.1版本),带着问题出发:
1. Framework层如何获得输入事件
2. Framework层获得按键事件后如何处理、存储
3. Framework层如何分发、传递给应用层
4. Framework层服务端管道和应用程序客户端管道如何创建、注册
5. 应用层如何从Framework层接收按键事件
6. 应用层接收到按键事件后如何传递
7. 特殊按键如何处理
8. 总结
欢迎光临 SuperIC社区_ (/) |
Powered by Discuz! X3.3 |