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