从服务接收触摸事件(解决方案?)

时间:2012-07-04 03:50:42

标签: android service touch-event

所以,早些时候我发布了一个关于从服务接收触摸事件的问题(显然没有人知道答案)。

在试图弄清楚自己好几个小时之后,我放弃了并决定给名为RubberBigPepper的开发者发电子邮件。我问他是如何在他的应用音量控制中做到的,他立即回复了#34; TYPE_SYSTEM_ALERT窗口"。

这意味着什么,以及如何在代码中实现?

编辑:

我使用了以下方法:

getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

并且窗口无法接收触摸事件。

我也通过电子邮件向他发送了相关信息,他说:"使用WindowService添加窗口"

1 个答案:

答案 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);

不要忘记使用权限