Android-сервис, который имитирует аппаратные нажатия клавиш в других приложениях - PullRequest
0 голосов
/ 30 ноября 2011

Итак, мне нужно создать сервис, который прослушивает HTTP-порт для символов, а затем имитировать нажатие этой клавиши, поэтому кажется, что пользователь сам нажал клавишу, независимо от того, какое приложение находится впереди, и чтоПриложение должно принять его.

Можете ли вы сделать это и как это сделать?Заранее спасибо!

edit: я нашел this , который предоставляет приложение, и я хочу "Позволяет приложению вводить пользовательские события (клавиши, касания, трекбол) в поток событий идоставить их в ЛЮБОЕ окно. Без этого разрешения вы можете доставлять события только окнам в своем собственном процессе. Очень немногие приложения должны использовать это разрешение. "

1 Ответ

4 голосов
/ 30 ноября 2011

Нет, ты не можешь. Это была бы серьезная дыра в безопасности, если бы ты мог. Единственный полунормальный способ, которым возможно что-либо подобное, - это реализовать мягкую клавиатуру, но даже тогда она не всегда открыта. Если не вносить изменения в ОС или возможно делать что-то от имени root, это просто не должно быть возможным.

Обновление:

Да, технически есть INJECT_EVENTS , но для этого требуется, чтобы вы были системным приложением . Если вы создаете ROM или, как я уже упоминал ранее, если вы укоренились, вы могли бы использовать это , но в противном случае вам не повезло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...