我基本上想实现的是自定义全局热键,或者换句话说,“当我按下特定的按钮时,无论当前哪个程序在顶部,都会发生一些事情”。
我假设需要一个服务。
我有一个快速而肮脏的测试,它只是告诉我,如果它是活动窗口,那么按下的是什么就可以工作。
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服务)并启动该服务,则什么也不会发生。(可能需要一些权限?)有什么建议我哪里错了吗?或者一种更好的方法来捕获哪个按钮被按下了?
谢谢!
https://stackoverflow.com/questions/3454710
复制相似问题