2013-06-01 7 views
0

Есть ли способ подписаться на события из установленного приложения на AVD? Я хотел бы сделать это, например, когда я ввожу любой текст в поле EditText в приложении, я хочу автоматически получать уведомление в своей программе с подробной информацией (введенное значение). Есть ли способ подписаться на события Android-приложения из любого установленного apk? Если у вас есть фреймворки или какие-либо драйверы для Android, которые могут это сделать, укажите их.Android UI Automation: Подписаться на события Android

+0

Возможно, вы захотите немного объяснить свой фон. Сценарий, который вы описываете, выглядит так, как будто вы хотите развить кейлоггер, и я не думаю, что вы получите полезные ответы, пока это, похоже, является тенором вашего вопроса. –

+0

@ Romiox Нет, это не для кейлоггера, а для автоматического тестирования родного приложения для Android. С помощью программы я могу предоставить входные данные для собственного приложения, щелкнуть по кнопкам в приложении и т. Д. Я также хотел бы захватить взаимодействие с пользователем, чтобы, когда пользователь выбирает поле, нажимает на кнопки, я могу продолжить обработку – stamhaney

ответ

1

Похоже, что вы могли бы сделать что-то подобное с помощью доступности API Android. Вам нужно будет написать Accessibility Service, который необходимо будет установить, а затем явно включить с помощью панели управления (это предосторожность для предотвращения доступа произвольных приложений к потенциально чувствительному содержимому пользовательского интерфейса других приложений). Ваша служба может прослушивать AccessibilityEvents - выглядит как TYPE_VIEW_TEXT_CHANGED событие - «Представляет событие изменения текста EditText» - это тот, который вы хотите.

+1

Спасибо тонну :) Это сделало работу! – stamhaney

+0

Удивительный! - Рад слышать, что это сработало для вас! – BrendanMcK

0

Что вам нужно Google Analytics для Android

+0

Спасибо Уриэль , Это потребует изменения исходного кода приложения. У меня нет доступа к источнику для приложения. Я хотел бы автоматизировать тестирование пользовательского интерфейса для любого установленного приложения. Есть ли способ, когда модификация исходного кода не требуется? Например, установка любого глобального прослушивателя событий, который будет работать во всех приложениях, установленных на AVD? – stamhaney

Смежные вопросы