サービスハンドラーから 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...」の行にブレークポイントを作成しますが、アプリをデバッグしたり、電話のデスクトップで「戻るキー」を何度も押したりすると、ここにイベントが表示されません。
それで、私はこれを行うことができますか、それはなぜですか?