搜索
 找回密码
 立即注册

简单一步 , 微信登陆

Android应用程序键盘(Keyboard)消息处理机制分析

作者:liuwei | 时间:2016-9-28 14:35:25 | 阅读:4177| 显示全部楼层

    在Android系统中,键盘按键事件是由WindowManagerService服务来管理的,然后再以消息的形式来分发给应用程序处理,不过和普通消息不一样,它是由硬件中断触发的;在上一篇文章《Android应用程序消息处理机制(Looper、Handler)分析》中,我们分析了Android应用程序的消息处理机制,本文将结合这种消息处理机制来详细分析Android应用程序是如何获得键盘按键消息的。

        在系统启动的时候,SystemServer会启动窗口管理服务WindowManagerService,WindowManagerService在启动的时候就会通过系统输入管理器InputManager来总负责监控键盘消息。这些键盘消息一般都是分发给当前激活的Activity窗口来处理的,因此,当前激活的Activity窗口在创建的时候,会到WindowManagerService中去注册一个接收键盘消息的通道,表明它要处理键盘消息,而当InputManager监控到有键盘消息时,就会分给给它处理。当当前激活的Activity窗口不再处于激活状态时,它也会到WindowManagerService中去反注册之前的键盘消息接收通道,这样,InputManager就不会再把键盘消息分发给它来处理。

        由于本文的内容比较多,详细内容请下载附件查看。

谢谢!

Android应用程序键盘(Keyboard)消息处理机制分析.rar

469.88 KB, 下载次数: 13

回复

使用道具 举报

大神点评3

Jack.Lin 发表于:2016-9-28 14:38:23
该会员没有填写今日想说内容.
回复

使用道具 举报

Alanz 发表于:2016-9-28 14:45:11
回复

使用道具 举报

Robby.zou 发表于:2016-9-28 22:48:31
该会员没有填写今日想说内容.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版