Как отправить событие adb для длительного нажатия клавиши

Я пытаюсь выполнить автоматическое тестирование, и мне нужно вызвать длительное нажатие клавиши с помощью команды adb с моего ПК. Например, долгое нажатие кнопки «Домой» вызовет последние использованные приложения. Я обнаружил, что ключевое событие № 3 предназначено для домашнего ключа. Но я не мог понять, как вызвать долгое нажатие кнопки «Домой». Некоторые сообщения здесь предлагают использовать команду сна. Но у меня это не работает, оно всегда запускает событие с одним щелчком, а затем засыпает. Это не делает долгое нажатие. Пожалуйста помоги.

Что я пробовал, так это: adb shell input keyevent 3 adb shell sleep 2

Я просто использую домашний ключ в качестве примера. Это может быть любая клавиша на Android-устройстве, например клавиша dpad. задний ключ и т.д.

См. также:  Как правильно выполнить приведение для сравнения указателя с явным диапазоном адресов?
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 2
  1. Safecoder

    sleep не сработало для вас, потому что команда input keyevent отправляет событие нажатия клавиши и нажатия клавиши до завершения. Чтобы правильно эмулировать «долгое» нажатие с помощью sleep, вам нужно отправить отдельное событие для вниз и вверх и использовать sleep между ними. Здесь на SO есть много ответов на вопросы об использовании sendevent.

  2. Safecoder

    Это невозможно, поскольку у меня есть исследования и разработки и эта ссылка.

    переопределение долгого нажатия клавиши Home в категории. ГЛАВНАЯ активность

    Спасибо за быстрый ответ! Извините, я не очень ясно выразился в своем оп. Я ищу запуск события с помощью команды оболочки adb, а не в приложении. Это для целей автотестирования. И это не обязательно должен быть домашний ключ. Я просто использую это как пример. person Safecoder; 03.11.2012

    каково ваше фактическое представление об этой задаче ›? person Safecoder; 03.11.2012

    Я провожу автоматическое тестирование некоторых разработанных нами приложений. Одно действие, которое мы хотели бы протестировать, — это долгое нажатие на выделение. На самом деле я использую dpad для навигации по компоненту пользовательского интерфейса. Я могу использовать центр dpad, чтобы сделать щелчок, но я не могу найти способ сделать долгое нажатие. В моем OP я пытаюсь сделать его более общим, поэтому в качестве примера я использовал домашнюю клавишу. person Safecoder; 03.11.2012

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: