2011-03-18 10 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 

हालांकि, असली डिवाइस पर प्रयास करना, यह काम नहीं करता है। (कोशिश की नेक्सस एस, एचटीसी G2 निहित)

मैं

cat /proc/bus/input/devices 

या

getevent 

इस्तेमाल किया पता लगाने के जो घटना # स्पर्श इवेंट है और इसके बाद के संस्करण कोड भेजने के लिए है, लेकिन कोई किस्मत। (असल में मैंने सभी घटनाओं की कोशिश की, लेकिन उनमें से कोई भी काम नहीं करता)

मैं वास्तविक उपकरणों पर एडीबी का उपयोग करके टच इवेंट कैसे भेजूं?

महत्वपूर्ण घटनाओं के लिए, मैं जानता हूँ कि वहाँ:

input keyevent <event_code> 

वहाँ स्पर्श घटनाओं के लिए इस तरह के एक है?

मुझे पता है कि मैं रिकॉर्ड/प्लेबैक टच इवेंट रिकॉर्ड कर सकता हूं। हालांकि, मैं प्रोग्रामेटिक रूप से स्पर्श घटनाओं को भेजने के लिए कह रहा हूं।

उत्तर

5

Froyo घटना अनुक्रम में बदल गया था, आप अपने ब्लॉग में यहाँ का जवाब पा सकते हैं: http://www.softteco.com/blog/android-low-level-shell-click-on-screen/

+0

मैंने आपके ब्लॉग का दौरा किया और पाया कि यह 2.3.3 के लिए काम करता है लेकिन 4.0.3 के लिए नहीं। क्या Google ने इसे पहले ही बदल दिया था? –

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) 

तुम भी, एक खींचें गतिविधियां आदि MonkeyDevice के लिए एपीआई पर एक नज़र डालें शुरू कर सकते हैं।

संबंधित मुद्दे