Имитировать нажатие клавиши из службы Android

Я хочу создать службу Android, которая позволила бы мне имитировать нажатие клавиши для заполнения полей на веб-странице при получении намерения. Возможно ли это каким-либо образом или, возможно, с помощью другого процесса (не с помощью нажатия клавиши имитации?).

Например, пример того, что я хотел бы уметь делать.

Пользователь находится на своем планшете и выбрал поле на веб-странице. Для любого обнаруженного устройства Bluetooth заполните поле этим идентификатором.

Есть ли способ сделать это, вызвав намерение веб-браузера или что-то в этом роде?

Спасибо

РЕДАКТИРОВАТЬ: понял, что мой пример был довольно плохим.

Вот что я действительно хочу сделать

Когда на телефоне обнаружен тег nfc, прочитайте идентификатор тега nfc, имитируйте события нажатия клавиш тега id на том, что в данный момент находится в фокусе на телефоне.

Пример: я нахожусь в Google, сфокусировался на поле поиска, и я помещаю тег nfc на телефон, телефон вводит идентификатор тега Nfc в поле поиска Google и вуаля.


person ulkar    schedule 25.09.2012    source источник
comment
Я не знаю истинного ответа на ваш вопрос, но если вы можете имитировать нажатие клавиши из потока пользовательского интерфейса, вы можете использовать использование обработчик для отправки сообщений о выполнении нажатий кнопок   -  person neworld    schedule 25.09.2012
comment
Хм, на самом деле я хочу иметь возможность вводить текст в поле браузера, не выходя из браузера. Что я действительно хочу сделать, так это: когда тег nfc обнаружен, прочитайте идентификатор, имитируйте события нажатия клавиш тега id на том, что в данный момент находится в центре внимания на телефоне.   -  person ulkar    schedule 25.09.2012
comment
Вы можете вызвать форму javscript для Android или наоборот   -  person neworld    schedule 25.09.2012


Ответы (2)


если вы действительно хотите имитировать ключевые события, вы можете использовать системные вызовы:

input keyevent <keycode>
person njzk2    schedule 25.09.2012
comment
Хорошо, но как я могу это сделать, когда я не в приложении, а на самом деле в веб-браузере, таком как браузер по умолчанию или хром? - person ulkar; 25.09.2012
comment
разве ты не говорил, что был на службе? - person njzk2; 25.09.2012
comment
Да, но тут я читал что сервисы на андроиде привязаны к приложению а не сервисы как я понял например на винде - person ulkar; 25.09.2012
comment
какие? в вашем случае у вас, вероятно, есть какой-то сервис или что-то, что слушает nfc? когда вы что-то читаете, вы трансформируете это нажатием клавиши... - person njzk2; 25.09.2012
comment
Верно ! Я не получил это в первый раз, но это должно быть то, что мне нужно! Благодарность - person ulkar; 25.09.2012

Я бы посоветовал вам использовать приемник BroadCast. После этого вы должны создать пользовательский класс намерений, зарегистрировать получателя, когда пользователь выбирает поле. Для взаимодействия с веб-страницей лучше использовать javascript для вызова собственного метода Android. Когда вы обнаружите устройство, отправляющее вашу трансляцию, если вы зарегистрированы, вы будете обрабатывать событие.

person Anis BEN NSIR    schedule 25.09.2012
comment
Спасибо за ответ, мой пример по основному вопросу был довольно плохим, поэтому я отредактировал его, чтобы отразить больше того, что я думал. - person ulkar; 25.09.2012