应用程序注册消息监听过程分析
CPP层InputManagerService启动后就需要监听按键输入了,当InputManagerService监听到键盘输入的事件后就需要分发键盘事件,但是分发给谁呢?这里首先应该是分发给当前激活的Window窗口,但是当前激活的window窗口怎么才能接受到消息呢,window窗口需要注册一个键盘消息接收通道到InputManagerService中,那么如何注册的呢?我们知道一个Activity对应一个ViewRootImpl对象,在Activity启动时会创建一个ViewRootImpl对象,并调用其setView函数把Activity的DecorView设置到ViewRootImpl中,而Activity正是在setView函数中注册键盘消息的接收通道的。 CPP层InputManagerService启动后就需要监听按键输入了