То, чего я в основном пытаюсь добиться, - это настраиваемые глобальные горячие клавиши или, другими словами, «когда я нажимаю определенные кнопки, все происходит независимо от того, какая программа в данный момент находится на вершине».
Я предполагаю, что услуга нужна.
У меня есть быстрый и грязный тест, который просто сообщает мне, что было нажано, и это будет работать, если это активное окно.
public boolean onKeyDown(int keyCode, KeyEvent event) {
char pop;
pop = (char)event.getUnicodeChar();
Toast.makeText(this, Character.toString(pop) , Toast.LENGTH_SHORT).show();
return super.onKeyDown(keyCode, event);
}
Но, очевидно, если я изменю окно или захожу в тексткоробка это не работает.Если я вставляю его непосредственно в сервис (или в сервисный сервис) и запускаю указанный сервис, ничего не происходит.(Может быть, требуется какое-то разрешение?) Есть предложения, где я ошибаюсь?Или лучший способ захвата, какая кнопка нажата?
Спасибо!