Отправить событие сенсорного экрана на передний план деятельности (только из APK) - PullRequest
1 голос
/ 06 февраля 2012

Я пытаюсь отправить сенсорные события (щелчки и движения) в приложение переднего плана из приложения с системными привилегиями (стандартная загрузка, без рута)

Мне удалось запустить сценарии оболочки, эмулирующие входные данные непосредственно изоболочка linux, но не из моего приложения:

Runtime.getRuntime().exec(cmd)

возвращает

cannot open /dev/input/event1, permission denied

Это происходит, если cmd равно sh /path/script-emulating-events илиsendevent /dev/input/event1 xxxx x x.

Поскольку приложение имеет android.uid.system для общего идентификатора пользователя, это не должно быть проблемой с правами Android.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Чтобы выполнить эти команды, вам нужно получить root права на ваше устройство.

0 голосов
/ 12 декабря 2012

Кажется, что-то новое в Jelly Bean! Улучшены команды ввода:

usage: input ...
       input text <string>
       input keyevent <key code number or name>
->       input tap <x> <y>
->       input swipe <x1> <y1> <x2> <y2>

Отлично работало на 4.1.2

...