Intereting Posts
Получать растягивание по строке Как отклонить Snackbar, используя собственную кнопку действия? Получить значение поля с помощью курсора Можем ли мы подключить удаленную базу данных MySQL на Android с помощью JDBC? Adb на OSX Lion, но не может подключиться к вкладке Galaxy 10.1, но отлично работает в linux Эквивалент addJavascriptInterface от Android в iOS Инструмент для создания Splash Screen & Wallpaper для всех размеров и устройств с использованием Single Click Разница между RowId и Position в параметре onItemLongClick Почему Android требует, чтобы имя пакета имело как минимум два идентификатора? Как играть в видеоролик YouTube в Android WebView? Промежуточный прогресс не работает с ActionBarSherlock, работающим на Gingerbread Почему AccountManager.addAccountExplicitly возвращает false? Управлять изменением видимости вида без переопределения вида Передача файлов с использованием smack в приложениях для Android. Рисование прямоугольника за пользовательским ImageView не анимированием

OnKeyDown в сервисе? (Глобальные горячие клавиши)

То, что я в основном пытаюсь достичь, – это настраиваемые глобальные горячие клавиши или, другими словами, «все будет происходить, когда я нажимаю определенные кнопки независимо от того, какая программа в данный момент находится сверху».
Я предполагаю, что услуга нужна.

У меня есть быстрый и грязный тест, который просто говорит мне, что было нажато, что будет работать, если это активное окно.

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) и запустим упомянутую службу, ничего не произойдет. (Возможно, некоторые разрешения необходимы?) Любые предложения, в которых я ошибаюсь? Или лучший способ захвата какой кнопки нажата?

Благодаря!

Ты не сможешь это сделать 🙂