2011-03-18 79 views
7

屏幕觸摸事件引用這個線程: 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> 

有這樣一個爲觸摸事件?

我知道我可以錄製/回放觸摸事件。但是,我要求以編程方式發送觸摸事件。

回答

0

使用dispatchTouchEvent(MotionEvent事件)查看類的方法來發送觸摸(向下,移動起來)事件

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) 

你也可以做一拖,開始活動比較等 看一看的API MonkeyDevice