gpt4 book ai didi

android - 在固定窗口模式下防止其他应用程序覆盖我的应用程序

转载 作者:太空狗 更新时间:2023-10-29 14:36:31 24 4
gpt4 key购买 nike

我们正在为学校编写一个软件,我们要求用户在 Android 上激活固定窗口模式,以防止学生离开我们的应用程序。不幸的是,Android 不限制其他应用程序绘制当前固定的应用程序,并且 Facebook Messenger 等应用程序仍然能够在固定模式下绘制我们的应用程序并显示消息的预览。

有没有办法阻止所有其他应用程序覆盖当前 Activity 的应用程序?

注意:截至目前,我正在使用辅助功能模式转到设置并禁用所有其他应用程序的绘制权限。当然,我稍后会将它们恢复到原来的状态。我发现此解决方案非常丑陋,而且对用户不友好,因此我正在寻找更好的方法。

最佳答案

您可以重写方法 View.onFilterTouchEventForSecurity() ,它可以检测是否有带有 FLAG_WINDOW_IS_OBSCURED 的运动事件,如果有则让您知道位于 Activity 顶部的 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 - 在固定窗口模式下防止其他应用程序覆盖我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54449624/

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