Как смоделировать событие касания с Android, задавая координаты X и Y вручную?
android
adb
gesture-recognition
Индира
источник
источник
Ответы:
Метод Валентина Роше работает, если вы расширили свое представление, но если вы используете прослушиватель событий, используйте это:
Чтобы узнать больше о получении объекта MotionEvent, вот отличный ответ: Android: Как создать MotionEvent?
источник
downTime
это время, когда пользователь касается экрана, в то время какeventTime
в этом случае пользователь поднимает палец вверх (ACTION_UP
). Я не уверен, будет ли он работать, если оба одинаковые. Вы можете протестировать его и опубликовать свои результаты.Вот сценарий monkeyrunner, который отправляет касание и перетаскивание в приложение. Я использовал это, чтобы проверить, что мое приложение может обрабатывать быстрые повторяющиеся жесты смахивания.
источник
MonkeyDevice.DOWN_AND_UP
вместо'DOWN_AND_UP'
. (DOWN_AND_UP
используется по умолчанию, поэтому ваш код все еще работает)UP
действияиспользуйте команды adb Shell для имитации события касания
источник
Если я четко понимаю, вы хотите сделать это программно. Затем вы можете использовать метод onTouchEvent
View
и создать объектMotionEvent
с нужными вам координатами.источник
Вы должны попробовать нового обезьяньего бегуна . Может это решит твои проблемы. Вы помещаете в него коды клавиш для тестирования, возможно, также возможны сенсорные события.
источник
adb shell monkey
тоmonkeyrunner
, что есть другой инструмент.При использовании Monkey Script я заметил, что DispatchPress (KEYCODE_BACK) ничего не делает, что действительно отстой. Во многих случаях это связано с тем, что Activity не использует событие Key. Решение этой проблемы состоит в том, чтобы последовательно использовать сочетание сценария обезьяны и команды ввода оболочки adb.
1 Использование сценария обезьяны дало отличный контроль времени. Подождите определенное количество секунд для активности и это блокирующий вызов adb.
2 Наконец, отправка ключевого события 4 для ввода оболочки adb завершит выполнение APK.
НАПРИМЕР
adb shell monkey -p com.my.application -v -v -v -f /sdcard/monkey_script.txt 1
adb shell input keyevent 4
источник
MotionEvent генерируется только касанием экрана.
источник