小编Fiz*_*izz的帖子

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);
  }
Run Code Online (Sandbox Code Playgroud)

但显然如果我改变窗口或进入文本框它不起作用.如果我将它直接粘贴到服务(或imputmethodservice)并启动所述服务没有任何反应.(可能需要一些权限吗?)我出错的任何建议?或者更好的方法来捕捉按下哪个按钮?

谢谢!

android onkeydown

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

onkeydown ×1