2016-10-18 3 views
0

Использование adb shell input text <String> или adb shell input keyevent <KEYCODE_NAME> прекрасно работает при отправке текста на устройство Android, но моя проблема - скорость.Быстрое симулятор Keyevent (Android Shell)

Используя что-то вроде input keyevent KEYCODE_A KEYCODE_A KEYCODE_SPACE KEYCODE_A KEYCODE_ENTER;, набирает текст быстро, но разделение его на 2 команды приведет к задержке (1 с) между двумя командами (намного медленнее).

Пример Shell Код:

Метод 1 (Намного быстрее):

input keyevent KEYCODE_A KEYCODE_A KEYCODE_ENTER KEYCODE_A KEYCODE_A KEYCODE_ENTER; 

Метод 2:

input keyevent KEYCODE_A KEYCODE_A KEYCODE_ENTER; 
input keyevent KEYCODE_A KEYCODE_A KEYCODE_ENTER; 

Я хотел бы напечатать большой текст как можно быстрее, но с сценарием оболочки с input keyevent, за которым следует большая комбинация KEYCODE_A, например, не будет выполнена. (Большие команды оболочки прерваны)

Что было бы лучшим способом отправить большой текст без длительных задержек?
Может ли sendevent быстрее отправлять большой текст?

Примечание:

  • Слабость input text <String> является то, что он также имеет предел его размера, и он не может выполнять специальные keyevents внутри него (как и кнопки Назад или Enter/New Line) ,

Спасибо заранее.

+0

'вход KeyEvent $ (для я в $ (далее 500), делать эхо 29, сделано, эхо 30) 'отлично работал на моем устройстве. вам нужно ввести более 500 кодов клавиш одновременно? –

+0

@ AlexP. Ваш метод работает нормально, но проблема в том, что между каждой командой будет одна задержка, из-за которой я пытался избежать. – SamJ

+0

Я не предлагал решение, а спрашивал ваш случай использования –

ответ

1

Я понимаю, что вы после Android Shell, но я думаю, что вы исчерпали доступные вам варианты.

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

final Instrumentation mInst = new Instrumentation(); 

mInst.sendKeySync(new KeyEvent(KeyEvent.ACTION_DOWN, keycode)); 
mInst.sendKeySync(new KeyEvent(KeyEvent.ACTION_UP, keycode)); 

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

  • Нет связанных вопросов^_^