引用:
众所周知,Linux上可以通过sendEvent来模拟键盘或者鼠标点击事件。而Android是基于Linux2.6平台的,所以也应该可以模拟点击事件,
在很多网络文章中也有提到。但是我在Motolola的Xoom,Android3.0系统上,试图通过adb -d shell sendevent /dev/input/event6 3 0 180adb -d shell sendevent /dev/input/event6 3 1 70adb -d shell sendevent /dev/input/event6 1 330 1adb -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/dev/input/event6: 0003 0035 000008b6/dev/input/event6: 0003 0036 000005ab/dev/input/event6: 0003 0034 000000f0/dev/input/event6: 0003 0039 00000000/dev/input/event6: 0000 0002 00000000/dev/input/event6: 0000 0000 00000000......等几十条事件 我不明白,1. 为什么模拟器上点击一下只有固定6条格式,但是模拟器上出现了几十条???2. 参考国内很多网络资料也说,用 0003代表要控制绝对坐标,后面跟0或者1表示x或者y坐标,为什么这里却是更的0030,0032,0035,0036,0034,0039,0002这些信息??有哪位愿意指点,非常感谢 附录: 用cat获得的设备对应event信息# cat /proc/bus/input/devicescat /proc/bus/input/devicesI: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="compass"P: Phys=S: Sysfs=/devices/virtual/input/input0U: Uniq=H: Handlers=event0B: EV=5B: REL=3f8I: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="accelerometer"P: Phys=S: Sysfs=/devices/virtual/input/input1U: Uniq=H: Handlers=event1B: EV=dB: REL=7B: ABS=100 7I: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="max9635_als"P: Phys=S: Sysfs=/devices/virtual/input/input2U: Uniq=H: Handlers=event2B: EV=11B: MSC=8I: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="gyroscope"P: Phys=S: Sysfs=/devices/virtual/input/input3U: Uniq=H: Handlers=event3B: EV=5B: REL=38I: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="barometer"P: Phys=S: Sysfs=/devices/virtual/input/input4U: Uniq=H: Handlers=event4B: EV=9B: ABS=1000000I: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="cpcap-key"P: Phys=S: Sysfs=/devices/virtual/input/input5U: Uniq=H: Handlers=event5 keyreset keyresetB: EV=3B: KEY=4 0 0 0 800 0 0 0I: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="qtouch-touchscreen"P: Phys=S: Sysfs=/devices/virtual/input/input6U: Uniq=H: Handlers=event6B: EV=bB: KEY=400 0 4 0 0 0 0 0 0 0 0B: ABS=2750000 11030003I: Bus=0000 Vendor=0000 Product=0000 Version=0000N: Name="stingray-keypad"P: Phys=S: Sysfs=/devices/virtual/input/input7U: Uniq=H: Handlers=event7 keyreset keychordB: EV=3B: KEY=c0000 0 0 0