Проблема с обработкой события Android InputDevice onKeyDown

У меня есть ручной USB HID- геймпад, подключенный к моему планшету Android, я пытаюсь обработать его входы, но у меня есть некоторые проблемы с управлениемonKeyDown События.

Это мой обработчик событий:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((controller != null) && (event.getDevice() == controller)) {
        if (event.getRepeatCount() == 0)
            if (event.isLongPress())
                if (keyCode == settings.std_photo_keycode) && (settings.std_photo_keycode != 0))
                    takeSnapshot();

        return true;
    }

    return super.onKeyDown(keyCode, event);
}

Отладка этого приложения для меня довольно сложна, так как единственный USB- порт планшета используется самим геймпадом, но я ясно вижу, что событие нажатия клавиши улавливается и обрабатывается системой и используется для возврата к основномуActivityвместо этого обрабатывается моим кодом. Я думаю, что проблема возникает из-за того, что кнопки устройства сопоставлены с системными кнопками, но я не знаю, как этого избежать. Можно ли отключить эту функцию только на определенномActivity и оставь это для другого Activities в моем приложении?

0 ответов

Другие вопросы по тегам