我几乎尝试了一切,只是为了简单地创建一个透明的覆盖活动,该活动一直在后台运行。它应该做的只是在那里,它不应该捕获任何点击事件,而只是将它们传递给底层的任何活动。很多帖子似乎都有解决方案。但对我来说,到目前为止,它们都没有奏效。(请参阅 如何创建一个覆盖画布并将触摸事件传播到主屏幕?
在来电屏幕上弹出 )
在活动的 onCreate 中,我尝试了这些组合以使其工作:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
尽管如此,屏幕似乎只允许触摸事件,但没有点击事件。因此,例如,当我在默认主屏幕并启动我的应用程序时,我无法打开任何应用程序,但我可以拖动应用程序并奇怪地选择它们。
请帮忙,到目前为止我还没有找到任何解决方案。