Назад нажмите событие устройства, чтобы закрыть окно

Я создал окно и показываю его на экране через широковещательный приемник. Но проблема в том, что оно появляется на экране, и я хочу закрыть его после нажатия кнопки "назад". Я не могу получить событие нажатия кнопки на Это мнение. Мой код для заднего пресса выглядит следующим образом:

  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 ответ

Сохранить глобальную ссылку для Window и переопределить onBackPressed(). Попробуйте это:

@Override
 public void onBackPressed() {
  if (view != null && view.isShowing()) {
    view.dismiss();
  } else {
    super.onBackPressed();
  }
}
Другие вопросы по тегам