设备的后退事件以关闭窗口

时间:2018-01-12 06:58:16

标签: android back-button softkeys

我创建了一个窗口,我通过广播接收器在屏幕上显示它。但问题是它出现在屏幕上,我想在按下后退按钮后将其解除。我无法得到事件按下此按钮。我的背压代码如下 -

  view.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (event.getKeyCode() == KEYCODE_BACK) {
                Log.d("LOG", "back button is pressed");

            }
            return true;
        }
    });  

但是没有发生任何事情。我试图通过 DISPATCHKEY 做同样的事情,但它也没有用。请帮助我,我不知道什么。不能做这个工作的图。?

1 个答案:

答案 0 :(得分:1)

维护Window的全局引用并覆盖onBackPressed() 试试这个:

@Override
 public void onBackPressed() {
  if (view != null && view.isShowing()) {
    view.dismiss();
  } else {
    super.onBackPressed();
  }
}