Simulación de eventos de pantalla táctil en Android

¿Es posible que un proceso en segundo plano o una Softkeyboard creen eventos táctiles y los envíen a la pantalla como si la pantalla fuera realmente tocada?

Es decir, simulando eventos de pantalla táctil.

Hay una herramienta que viene con el SDK llamado Monkey que genera flujos pseudo-aleatorios de eventos de usuario tales como:

  • Clics
  • Toques
  • Gestos
  • Una serie de eventos a nivel de sistema.

Usted puede utilizar el Mono para probar las aplicaciones de estrés que está desarrollando, de una manera aleatoria pero repetible .

También hay la herramienta monkeyrunner que proporciona una API para escribir programas que controlan un dispositivo o emulador Android desde fuera del código de Android. Con monkeyrunner, puedes escribir un programa Python que instala una aplicación o un paquete de prueba de Android, lo ejecuta, envía pulsaciones de teclado, toma capturas de pantalla de su interfaz de usuario y almacena capturas de pantalla en la estación de trabajo.

Para presionar los botones, puede utilizar lo siguiente:

dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK)); dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK)); 

Puede encontrar una lista de los códigos de teclado disponibles aquí: http://developer.android.com/reference/android/view/KeyEvent.html

Para eventos con pantalla táctil, puede utilizar:

  dispatchTouchEvent(MotionEvent.obtain( SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, Xinput, Yinput, 0)); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.