【发布时间】:2011-03-28 03:37:09
【问题描述】:
我基本上想要实现的是自定义全局热键,或者换句话说,“无论当前哪个程序在顶部,当我按下某些按钮时,事情都会发生”。
我认为需要一项服务。
我有一个快速而肮脏的测试,它只是告诉我按下了什么,如果它是活动窗口,它将起作用。
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)中并启动所述服务,则不会发生任何事情。 (可能需要一些权限?) 有什么建议我哪里出错了吗?还是捕捉按下哪个按钮的更好方法?
谢谢!
【问题讨论】:
-
hiii 如果你有一个解决方法,那么请告诉我。
-
@Vincent Romain Guy 在 Android 团队工作,他说这是impossible。 Fizz,你能接受 Romain 的回答吗?