众所周知,Linux上可以通过sendEvent来模拟键盘或者鼠标点击事件。而Android是基于Linux2.6平台的,所以也应该可以模拟点击事件,
在很多网络文章中也有提到。但是我在Motolola的Xoom,Android3.0系统上,试图通过
adb -d shell sendevent /dev/input/event6 3 0 180
adb -d shell sendevent /dev/input/event6 3 1 70
adb -d shell sendevent /dev/input/event6 1 330 1
adb -d shell sendevent /dev/input/event6 0 0 0
adb -d shell sendevent /dev/input/event6 1 330 0
adb -d shell sendevent /dev/input/event6 0 0 0
来点击一个应用程序,发现无效。但在模拟器的同一个位置是可以点击到的,所以怀疑有问题。
于是我分别用getevent来获取模拟器上点击的事件与在XOOM上点击的事件,发现两者不同。
在模拟器上: 得到的Event是 /dev/input/event0 3 0 180
/dev/input/event0 3 1 70
...........
这6个事件
在真机上,我用cat /proc/bus/input/devices对比了列出的内容,touchscreen是event6, 但是得到的event却是
/dev/input/event6: 0003 0030 0000003c
/dev/input/event6: 0003 0032 00000004