Android手机连接蓝牙鼠标后,屏幕上可以显示鼠标图标,在/dev/input里可以看到相应的设备,滑动和点击鼠标,getevent命令可以看到input数据。
但是,我们较为熟悉的事件接收方法View#onTouchEvent里并没有调进去,在onTouchEvent里添加log,在点击的时候会有输出,但是滑动时没有输出,mouse设备的滑动难道不一样?
较为直观的分析方法是打开InputDispatcher里的log开关,可以看到,滑动的时候,还是会走到notifyMotion方法,我们还可以抓取systrace来查看方法调用流程。
从log里可以看到,滑动时会有action为7的事件,
查看MotionEvent.java里的定义
264 /** 265 * Constant for { @link #getActionMasked}: A change happened but the pointer

订阅专栏 解锁全文

1063

被折叠的 条评论
为什么被折叠?



