出于功能需求,需要在所有的view之上显示浮窗,于是需要在WindowManager的View上处理返回键的响应,花了3个小时才解决,怪自己今天莫名其妙用百度,早点用Google搜索就好了,国内的都没提到点子上。废话不多说直接上代码。

这里千万要注意不能用WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,我就是死在这上面的,如果设置成FLAG_NOT_FOCUSABLE,死都收不到返回键的事件的!

floating_window.xml

下面附赠哪都能搜索的到的WidnowManager Home按键监听。

打开浮窗时调用:

关闭浮窗时调用: