У меня есть метод ввода, который имитирует нажатие клавиши, как например:Сымитированный Android KeyEvent - Фокус
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, event));
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, event));
С помощью этого метода можно открыть меню на устройстве с помощью KeyEvent.KEYCODE_MENU
. После этого я попытаюсь отправить KeyEvent.KEYCODE_DPAD_UP
и KeyEvent.KEYCODE_DPAD_DOWN
, чтобы просмотреть меню, но основное внимание по-прежнему уделяется активности в фоновом режиме.
Так, например, когда я нахожусь на панели запуска, я открываю меню, но когда я нажимаю вверх или вниз, устройство просматривает приложения на моем главном экране вместо параметров в меню.
Я повторил те же шаги с помощью аппаратной клавиатуры, а затем фокус переходит в меню, как ожидалось, поэтому я считаю, что это также должно быть способно имитировать.
Я не думаю, что ключевое событие связано с моей основной деятельностью. Моя основная деятельность даже не началась. Ключевое событие отправляется из службы, которая расширяет InputMethodService. Я хочу иметь возможность просматривать меню и диалоги по всей системе, а не только в моих действиях. –