То, чего я в основном пытаюсь достигнуть, является пользовательскими глобальными горячими клавишами, или другими словами 'вещи произойдут, когда я нажму определенные кнопки, неважно, какая программа в настоящее время находится на вершине'.
Я предполагаю, что сервис необходим.
У меня есть быстрый и грязный тест, который просто говорит мне, что было нажато, который будет работать, если это будет активное окно.
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);
}
Но очевидно если я изменяю окно или вхожу в текстовое поле, оно не работает. Если я засовываю его непосредственно на службу (или imputmethodservice), и запуск сказал, что сервис ничего не происходит. (Некоторые полномочия требуются, возможно?) Какие-либо предложения, где я иду не так, как надо? Или лучший способ получить, какая кнопка нажимается?
Спасибо!