¿Cómo simular un evento táctil con Android mientras se dan las coordenadas X e Y manualmente?
android
adb
gesture-recognition
indira
fuente
fuente
Respuestas:
El método de Valentin Rocher funciona si ha ampliado su vista, pero si está utilizando un detector de eventos, utilice esto:
Para obtener más información sobre cómo obtener un objeto MotionEvent, aquí hay una excelente respuesta: Android: ¿Cómo crear un MotionEvent?
fuente
downTime
sería el momento en el que el usuario toca la pantalla, mientras queeventTime
en este caso sería cuando el usuario levanta el dedo (ACTION_UP
). No estoy seguro de si funcionará si ambos son iguales. Puede probarlo y publicar sus resultados.Aquí hay un script de monkeyrunner que envía touch y arrastra a una aplicación. He estado usando esto para probar que mi aplicación puede manejar gestos de deslizamiento rápidos y repetitivos.
fuente
MonkeyDevice.DOWN_AND_UP
lugar de'DOWN_AND_UP'
. (DOWN_AND_UP
es el predeterminado, por lo que su código aún funciona)UP
acciónuse adb Shell Commands para simular el evento táctil
fuente
Si lo entiendo claramente, quieres hacer esto programáticamente. Luego, puede usar el método onTouchEvent de
View
y crear unMotionEvent
con las coordenadas que necesita.fuente
Deberías darle una oportunidad al nuevo monkeyrunner . Quizás esto pueda resolver tus problemas. Pones códigos de tecla para probar, tal vez también sean posibles los eventos táctiles.
fuente
adb shell monkey
, es elmonkeyrunner
, que es una herramienta diferente.Al usar Monkey Script, noté que DispatchPress (KEYCODE_BACK) no hace nada que realmente apesta. En muchos casos, esto se debe al hecho de que la actividad no consume el evento clave. La solución a este problema es utilizar una combinación de script mono y comando de entrada de shell adb en una secuencia.
1 El uso de la escritura mono dio un gran control del tiempo. Espere una cierta cantidad de segundos para la actividad y es una llamada adb de bloqueo.
2 Finalmente, el envío de adb shell input keyevent 4 finalizará la ejecución del APK.
P.EJ
adb shell monkey -p com.my.application -v -v -v -f /sdcard/monkey_script.txt 1
adb shell input keyevent 4
fuente
MotionEvent se genera solo tocando la pantalla.
fuente