Программно нажимаем на элемент View из другого приложения - PullRequest
5 голосов
/ 23 февраля 2012

Я хочу написать службу, которая будет работать в фоновом режиме, и при нажатии кнопки мультимедиа гарнитуры будет нажиматься определенный элемент ListView из другого приложения.

Прямо сейчас я могу активировать только определенную активность, которая имеет только элемент ListView.Можно ли вызвать такое событие нажатия (рассмотрите возможность создания каких-либо ярлыков или макросов, например, AutoHotkey в Windows)

Я только сталкивался с этим сообщением в блоге: http://mylifewithandroid.blogspot.com/2009/01/generating-keypresses-programmatically.html

IЯ также знаю о

View.performClick()

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

1 Ответ

0 голосов
/ 23 февраля 2012

Думайте о том, что вы делаете, концептуально.Вы действительно хотите, чтобы ваша программа воспринимала внешние события как внутренние щелчки?

Вместо этого укажите оба события (внутренний щелчок и внешнее событие) на одно и то же внутреннее поведение.

externalEvent() -> performClick() // doesn't sound good.

externalEvent() -> doSomething();
onClick()       -> doSomething(); // looking better
...