其他分享
首页 > 其他分享> > android – 从服务接收触摸事件(解决方案?)

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

作者:互联网

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

在试图弄清楚自己好几个小时后,我放弃了,并决定给名为RubberBigPepper的开发人员发送电子邮件.我问他是如何在他的应用程序音量控制中做到的,他立即回复了“TYPE_SYSTEM_ALERT窗口”.

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

编辑:

我使用以下方法:

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

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

我也通过电子邮件向他发了电子邮件,他说:“使用WindowService添加窗口”

解决方法:

我使用这样的代码.

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

并且不要忘记使用权限

标签:android,service,touch-event
来源: https://codeday.me/bug/20191002/1842323.html