gpt4 book ai didi

Android 检测或阻止 float /覆盖应用程序

转载 作者:IT老高 更新时间:2023-10-28 23:00:50 26 4
gpt4 key购买 nike

Android 允许应用通过 android.permission.SYSTEM_ALERT_WINDOW 覆盖其他应用,它被称为 float /覆盖应用。例如,Facebook Messenger 在屏幕边缘始终可见聊天气泡。

我的问题是:是否可以在 Java 代码中检测或阻止任何使用我的应用的应用?

最佳答案

您可以重写一个 View#onFilterTouchEventForSecurity() 方法来检测运动事件是否具有 FLAG_WINDOW_IS_OBSCURED。这将让您知道是否在您的 View 顶部绘制了某些内容。

@Override
public boolean onFilterTouchEventForSecurity(MotionEvent event) {
if ((event.getFlags() & MotionEvent.FLAG_WINDOW_IS_OBSCURED) == MotionEvent.FLAG_WINDOW_IS_OBSCURED){
// show error message
return false;
}
return super.onFilterTouchEventForSecurity(event);
}

如果您只是想保护您的应用免于由于另一个应用覆盖您的应用而导致的点击劫持,您可以通过 XML 或以编程方式将 setFilterTouchesWhenObscured 添加到您的 View 中。

关于Android 检测或阻止 float /覆盖应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36923301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com