Detectar o botão Voltar, mas não descarte o fragmento de diálogo

Eu tenho um fragmento de diálogo para uma caixa de diálogo flutuante que inclui um teclado especial que aparece quando um usuário pressiona dentro de um campo EditText (o IME normal é impedido de ser exibido).

Eu gostaria que o teclado fosse descartado (visibilidade = desaparecido) quando o usuário pressionasse o botão Voltar (como em um serviço IME normal), mas a caixa de diálogo permaneceria visível. No entanto, não parece haver uma maneira de fazer isso, tanto quanto posso ver na minha leitura bastante extensa sobre SO e em outros lugares.

Se eu definir o diálogo como não cancelável, não serei notificado por onCancel () ou onDismiss () porque o diálogo não é cancelável.

Se eu definir o diálogo para ser cancelável, sou notificado, mas o diálogo é descartado.

Não consigo anexar um onKeyListener à caixa de diálogo no fragmento porque ele é substituído pelo sistema para que o fragmento possa lidar com o ciclo de vida da caixa de diálogo.

Há alguma maneira de fazer isso? Ou o acesso à detecção de eventos importantes foi totalmente vedado para os propósitos do sistema Fragment?

questionAnswers(8)

yourAnswerToTheQuestion