系统覆盖检测器

hel*_*l89 5 android android-security

有没有办法在我自己的应用程序中检测当前是否存在屏幕覆盖?例如,我在设置中看到他们检测到它:在此输入图像描述

我想知道是否有一种方法可以在我自己的应用程序中自行检测它。

Jag*_*uar 4

Android查看文档提供了明确的方法:

要启用触摸过滤,请调用 setFilterTouchesWhenObscured(boolean) 或将 android:filterTouchesWhenObscured 布局属性设置为 true。启用后,每当视图窗口被另一个可见窗口遮挡时,框架将丢弃接收到的触摸。因此,每当视图窗口上方出现 Toast、对话框或其他窗口时,视图都不会接收到触摸。

要对安全性进行更细粒度的控制,请考虑重写 onFilterTouchEventForSecurity(MotionEvent) 方法以实现您自己的安全策略。另请参见 FLAG_WINDOW_IS_OBSCURED。

另请参阅此示例代码