Способы ввода (PM ZD)

В программе есть 4 способа ввода символов с клавиатуры

Ввод символов по-разному работает на разных устройствах, поэтому даем вам возможность самостоятельно подобрать оптимальный. Первые три способа позволяют вводить любые символы, включая эмодзи.

  • ADBKeyboard.

  • AccessibilityService.

  • Native input + Clipboard.

  • Input text.

Технические подробности:

  1. ADBKeyboard. Используется сторонняя клавиатура. Автоматически устанавливается при подключении к устройству. Позволяет вводить символы, как если бы их набирали на виртуальной клавиатуре.

  2. AccessibilityService. Используется uiautomator2. Позволяет задать любое значение полю, которое находится в фокусе. По своей сути не является вводом символов, а просто меняет у поля свойство Text на нужное значение. Не будет работать в приложениях, в которых отсутствует стандартное дерево элементов, например, в играх.

  3. Native input + Clipboard. Ввод символов осуществляется напрямую через интерфейс IInputManager и IClipboard. Ввод кириллицы/эмодзи возможен только на Android 7 и выше, ASCII - на любых устройствах. Работает достаточно быстро.

  4. Input text - аналог команды input text + добавлены все необходимые преобразования текста для корректного ввода спецсимволов ( < > | ) ( и прочих). Позволяет вводить только ASCII символы. Посимвольный ввод работает довольно медленно, поэтому лучше выбирать тип ввода с отключенной галочкой «задержка».

 

  1. Нужно установить на телефон приложение com.android.adbkeyboard.apk (файл лежит в корневой папке с программой). Можно экшеном Установить приложение. На некоторых телефонах нужно в настройках ставить галку "Доверять установку приложений из незнакомых источников", примерно так в разных вариациях).

  2. Зайти на телефоне в настройки языка ввода и поставить галку AdbKeyboard.

  3. Выполнить экшен Запустить вирт.машину. Это должно активировать клавиатуру (проявляется в любом поле, где нужно ввести текст - снизу появится маленькое уведомление Adb keyboard ON)