В Android, можно ли программно имитировать нажатие клавиши из моего приложения, чтобы текущая клавиатура отображала нажатие клавиши? [Дубликат]

Вы должны исправить отступы деклараций when.

Возможно, в Ansible 2.4 не возможно включить прилагаемые задачи с дополнительными условиями?

Ansible 2.4 работает нормально:

tasks:
  - block:

    - debug:
        msg: "task 1"

    - debug:
        msg: "task 2"
      when: false

    - debug:
        msg: "task 3"
      when: true

    when: true

приводит к:

TASK [debug] **************************************************************************************************
ok: [localhost] => {
    "msg": "task 1"
}

TASK [debug] **************************************************************************************************
skipping: [localhost]

TASK [debug] **************************************************************************************************
ok: [localhost] => {
    "msg": "task 3"
}

И вы можете всегда изменить порядок клавиш в задаче block для ясности:

tasks:
  - when: true
    block:
      - debug:
18
задан Mr Lister 30 April 2012 в 07:46
поделиться

3 ответа

Вы можете использовать инструментарий, то есть следующий код, вызванный onCreate вашей активности, заставит меню открываться и закрываться несколько раз:

    new Thread(new Runnable() {         
        @Override
        public void run() {
            try {
            Instrumentation inst = new Instrumentation();
            for ( int i = 0; i < 10; ++i ) {
                inst.sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
                Thread.sleep(2000);
                inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
                Thread.sleep(2000);
            }
            }
            catch(InterruptedException e){
            }
        }   
    }).start();

... но я не уверен, что это что вы после

34
ответ дан marcinj 3 September 2018 в 09:08
поделиться

Вы также можете использовать input text, i.e:

С компьютера через adb:

adb shell input text 'example\\@email.com'  

Из shell:

input text 'example\\@email.com'  
0
ответ дан Pedro Lobito 3 September 2018 в 09:08
поделиться

Если у вас есть представление, которое хочет потреблять событие, вы можете использовать класс BaseInputConnection и его метод sendKeyEvent .

Чтобы использовать его, вы будете необходимо указать целевой вид (например, EditText), который получит KeyEvent. Например:

EditText editText;
BaseInputConnection inputConnection = new BaseInputConnection(editText, true);
inputConnection.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_POUND));

Результат этого походит на то, что пользователь на самом деле нажал клавишу # (при фокусировке текста редактирования).

0
ответ дан tpaczesny 3 September 2018 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: