0

我有一个通过服务处理程序的 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;
    }
});

我在“如果...”的行上设置了一个断点,但是当我调试应用程序和在手机桌面上按下“返回键”的时间时,我看不到任何事件。

那么,我可以这样做还是不这样做,为什么?

4

1 回答 1

0

对于后退键,请改用此功能:

@Override
public void onBackPressed() {

  if(isShow){
    Message msg = new Message();
    msg.what = HANDLER_ACTION_HIDE_TIP;
    mainHandler.sendMessage(msg);
  }
}
于 2013-07-24T10:38:31.047 回答