我有一个视图,通过服务处理程序中的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 ...”的行上创建了一个断点,但是当我调试应用程序时,我看不到任何事件,并且按下“后退键”的时间在手机桌面上。
那么,我可以这样做吗?为什么?
答案 0 :(得分:0)
对于返回键,请改为使用此功能:
@Override
public void onBackPressed() {
if(isShow){
Message msg = new Message();
msg.what = HANDLER_ACTION_HIDE_TIP;
mainHandler.sendMessage(msg);
}
}