android以编程方式获取按键

android以编程方式获取按键,android,save,keylogger,Android,Save,Keylogger,我想知道安卓键盘上按下了哪个键。例如,如果按下a{a},我想在屏幕上用toast显示值{a} 我想使用BroadcastReceiver或后台服务尝试在活动中使用dispatchKeyEventKeyEvent事件: @Override public boolean dispatchKeyEvent(KeyEvent event) { Log.i("key pressed", String.valueOf(event.getKeyCode())); return supe

我想知道安卓键盘上按下了哪个键。例如,如果按下a{a},我想在屏幕上用toast显示值{a}

我想使用BroadcastReceiver或后台服务

尝试在活动中使用dispatchKeyEventKeyEvent事件:

@Override
   public boolean dispatchKeyEvent(KeyEvent event) {
      Log.i("key pressed", String.valueOf(event.getKeyCode()));
   return super.dispatchKeyEvent(event);
}
当我运行此代码时,键盘应用程序崩溃。此时将显示一个对话框,其中显示以下消息

不幸的是,键盘停止了


谢谢liviu,但是如何将此代码用于后台服务??谢谢tomrozb,但是如何将此代码用于后台服务??您没有初始化事件,因此它为空
public class MainActivity extends Activity {

    KeyEvent event;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dispatchKeyEvent(event);

    }

    @Override
       public boolean dispatchKeyEvent(KeyEvent event) {
          Log.i("key pressed", String.valueOf(event.getKeyCode()));
       return super.dispatchKeyEvent(event);
    }



}