我知道以下将在设备上发送触摸事件(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>
是否有触摸事件?
我知道我可以录制/播放触摸事件。但是,我要求以编程方式发送触摸事件。
答案 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事件)方法发送触摸(向下,向上,向上)事件