Input事件透传window、Service

发布时间:2026/8/28 8:44:05
Input事件透传window、Service Input事件透传window、Service问题1A addView到系统上B addView到系统上同层级下B会盖住A点击事件B会接受如何实现B window局部区域不接受点击事件透传给A呢注意如果B window设置no focusable或no touchable则是整个window都不接受焦点或者点击并不满足需求问题2、Service不像Acitivity没有view原生不会给Service创建InputChannel等无法接受点击事件如果我想在Service里面接收到Input事件需要如何做到答案问题1通过修改view对应的SurfaceControl的InputWindowHandler的touchRegion属性可结合Region.Op.INTERSECT问题2在Service里面创建InputChannel绑定inputReceiver。将InputChannel绑定到自己创建的一个InputWindowHandler将InputWindowHandler绑定到SurfaceControl上后面会详细分析上面两个答案的具体逻辑代码