所以,早些时候我发布了一个关于从服务接收触摸事件的问题(显然没有人知道答案)。
在试图弄清楚自己好几个小时之后,我放弃了并决定给名为RubberBigPepper的开发者发电子邮件。我问他是如何在他的应用音量控制中做到的,他立即回复了#34; TYPE_SYSTEM_ALERT窗口"。
这意味着什么,以及如何在代码中实现?
编辑:
我使用了以下方法:
getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
并且窗口无法接收触摸事件。
我也通过电子邮件向他发送了相关信息,他说:"使用WindowService添加窗口"
答案 0 :(得分:1)
我使用这样的代码。
int nFlags=WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
m_cWM=(WindowManager)getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
nFlags,
PixelFormat.TRANSLUCENT);
m_cWM.addView(YourViewClass, lp);
不要忘记使用权限