系统覆盖检测器

时间:2016-10-16 23:51:55

标签: android android-security

有没有办法在我自己的应用程序中检测到屏幕覆盖当前存在?例如,我在设置中看到他们检测到它:enter image description here

我想知道是否有办法在我自己的应用程序中自己检测它。

1 个答案:

答案 0 :(得分:2)

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

  

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

     

对于更安全的细粒度控制,请考虑覆盖   onFilterTouchEventForSecurity(MotionEvent)方法实现你的   自己的安全政策。另见FLAG_WINDOW_IS_OBSCURED。

另请参阅此sample code