如何在不破坏叠加层合法使用的情况下防止 Android 中的劫持?

How can I prevent tapjacking in Android without breaking legitimate use of overlays?

我正在尝试防止在我的应用程序中进行窃听。我读过,执行此操作的典型方法是在每个视图中设置 android:filterTouchesWhenObscured=true。然而,据我所知,当用户使用一些合法的叠加层(例如 Facebook Messenger 或蓝光过滤器应用程序)时,这也会阻止触摸工作。在不破坏叠加层使用的情况下防止窃听的最佳做法是什么?

所以似乎没有办法在不破坏某些蓝光滤镜的情况下防止窃听。然而,Android 的较新版本上的许多蓝光过滤器似乎是通过可访问性在“设置”中使用蓝光过滤器。这些应用程序将继续运行,因此 android:filterTouchesWhenObscured=true 只会在使用部分蓝光过滤器时破坏应用程序,而不是全部。