use*_*764 8 user-interface android overlay
有没有办法让应用程序:
我知道Android M及以上版本能够在权限页面中检测到屏幕叠加,并在检测到屏幕叠加时拒绝权限更改,但开发人员是否能够在应用层中实现相同的功能?
MotionEvent.FLAG_WINDOW_IS_OBSCURED当用户触摸您的其中一个时,您可以通过检查标志来检测覆盖View。
final View.OnTouchListener filterTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// Filter obscured touches by consuming them.
if ((event.getFlags() & MotionEvent.FLAG_WINDOW_IS_OBSCURED) != 0) {
if (event.getAction() == MotionEvent.ACTION_UP) {
Toast.makeText(v.getContext(), "Overlay detected", Toast.LENGTH_SHORT).show();
}
return true;
}
return false;
}
};
yourButton.setOnTouchListener(filterTouchListener);
Run Code Online (Sandbox Code Playgroud)
但是,我认为不可能检测哪个应用程序拥有该覆盖层。
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |