Android:通过亚行的屏幕触摸事件

时间:2011-03-18 15:27:55

标签: android events adb

引用此主题: http://groups.google.com/group/android-beginners/browse_thread/thread/8a5d8fa9229114d2/ce6e604f52b5318f?pli=1

我知道以下将在设备上发送触摸事件(5,29)。

adb shell sendevent /dev/input/event0 3 0 5 
adb shell sendevent /dev/input/event0 3 1 29 
adb shell sendevent /dev/input/event0 1 330 1 
adb shell sendevent /dev/input/event0 0 0 0 
adb shell sendevent /dev/input/event0 1 330 0 
adb shell sendevent /dev/input/event0 0 0 0 

然而,尝试真实设备,它不起作用。 (试过Nexus S,HTC G2扎根)

我用过

cat /proc/bus/input/devices

getevent

找出哪个事件#是触摸事件并发送上述代码,但没有运气。 (实际上我尝试了所有的#s活动,但没有一个活动)

如何在真实设备上使用ADB发送触摸事件?

对于关键事件,我知道有:

input keyevent <event_code>

是否有触摸事件?

我知道我可以录制/播放触摸事件。但是,我要求以编程方式发送触摸事件。

2 个答案:

答案 0 :(得分:1)

请参阅https://stackoverflow.com/a/18959385/1587329上的(略微调整的)答案:

  

您可能希望使用monkeyrunner,如下所示:

$ monkeyrunner
>>> from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
>>> device = MonkeyRunner.waitForConnection()
>>> device.touch(5, 29, MonkeyDevice.DOWN_AND_UP)
  

你也可以进行拖动,启动活动等。   看看MonkeyDevice的api。

答案 1 :(得分:0)

使用View类的dispatchTouchEvent(MotionEvent事件)方法发送触摸(向下,向上,向上)事件