いくつかのポップアップ ウィンドウを表示し、ユーザーが [戻る] をクリックするとそれらを閉じる IME を作成しました。99% の確率で動作しますが、一部のアプリ (ブラウザなど) はKeyEvent.KEYCODE_BACK
IME の前にインターセプトでき、ポップアップ ウィンドウが開いたままになります。
ドキュメントによると、InputMethodService はアクティビティの前にキー イベントを受け取る必要があります。これをアクティビティでテストしたところ、期待どおりに機能します。
ブラウザのソースコードを確認したところ、Activity.onKeyDown()
andをオーバーライドするだけで、 andの後onKeyUp()
にイベントを受け取るはずです。 InputMethodService.onKeyDown()
onKeyUp()
ブラウザーが重要なイベントを間違った順序で受け取るように見えるのはなぜですか? すべてのポップアップに醜い閉じるボタンを追加する必要がないので、助けてください!!!
前もって感謝します、
バリー