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;
    }
});

「if...」の行にブレークポイントを作成しますが、アプリをデバッグしたり、電話のデスクトップで「戻るキー」を何度も押したりすると、ここにイベントが表示されません。

それで、私はこれを行うことができますか、それはなぜですか?

4

1 に答える 1