如何在桌面上的android中监听keydown事件

时间:2013-07-24 10:32:31

标签: android

我有一个视图,通过服务处理程序中的WindowManager.addView方法显示在桌面上

现在我想听'后退键'事件,以便我可以通过WindowManager.removeView方法隐藏此视图。

我已经尝试在我的视图上绑定一个关键的监听器,但它没有用。

tipView.setOnKeyListener(new View.OnKeyListener() {

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if(keyCode == KeyEvent.KEYCODE_BACK && isShow){
            Message msg = new Message();
            msg.what = HANDLER_ACTION_HIDE_TIP;
            mainHandler.sendMessage(msg);
        }

        return false;
    }
});

我在“if ...”的行上创建了一个断点,但是当我调试应用程序时,我看不到任何事件,并且按下“后退键”的时间在手机桌面上。

那么,我可以这样做吗?为什么?

1 个答案:

答案 0 :(得分:0)

对于返回键,请改为使用此功能:

@Override
public void onBackPressed() {

  if(isShow){
    Message msg = new Message();
    msg.what = HANDLER_ACTION_HIDE_TIP;
    mainHandler.sendMessage(msg);
  }
}