3

Is there a way to create a script or "app" to automatically input data into an already installed app. I.e Fill and submit a todo task in a todo app. Or fill a register form ?

chaps
  • 131
  • 5

1 Answers1

3

In every device, there is a binary called input.
You can invoke it with from your application or even from adb:

$ adb shell input
Usage: input [<source>] <command> [<arg>...]
The sources are:
      mouse
      keyboard
      joystick
      touchnavigation
      touchpad
      trackball
      stylus
      dpad
      touchscreen
      gamepad

The commands and default sources are:
      text <string> (Default: touchscreen)
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)
      tap <x> <y> (Default: touchscreen)
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
      press (Default: trackball)
      roll <dx> <dy> (Default: trackball)

You can then navigate int the app using KeyEvent, click buttons, submit text to the focused element, etc.

Simon Marquis
  • 231
  • 1
  • 5