Android WMS——客户端输入事件处理(十九)

        前面的文章我们介绍了 WMS 中的输入服务的启动及事件处理,这一篇我们来看一下客户端对输入事件的处理。

一、事件初始化

        事件的初始化就是在添加窗口的过程。

1、ViewRootImpl

源码位置:/frameworks/base/core/java/android/view/ViewRootImpl.java

public void setView(View view, WindowManager.LayoutParams attrs, View panelParentView, int userId) {
    synchronized (this) {
        if (mView == null) {
            ……
            InputChannel inputChannel = null;
            if ((mWindowAttributes.inputFeatures & WindowManager.LayoutParams.INPUT_FEATURE_NO_INPUT_CHANNEL) == 0) {
                inputChannel = new InputChannel();
            }
            ……
            try {
                ……
                // 创建 channel
                res = mWindowSession.addToDisplayAsUser(mWindow, mSeq, mWindowAttributes,
                              getHostVisibility(), mDisplay.getDisplayId(), userId, mTmpFrame,

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/134534415