Window 弹出窗口或广告打破 fullscreen\immersive 模式。有什么方法可以防止这种情况发生吗?

Window popups or ads breaking fullscreen\immersive mode. Are there any ways to prevent this?

当我的应用程序处于沉浸模式时,如果在此期间弹出广告或第三方window,则完全破坏该模式并且我的导航栏会出现,并且不会消失。

每次 window 失去焦点时,我都尝试重新引入全屏标志,但它根本不起作用。此应用程序将是弹出源的示例:https://play.google.com/store/apps/details?id=com.nlucas.popupnotificationslite&hl=en

我见过许多应用程序无需处理导航栏即可忽略此类事件。谁能指出我正确的方向?我和很多人一起工作过,但每个人都表现不佳。

看来问题是这些 popups\overlaid windows "steal" 的焦点离开了我的 activity 并拒绝放手,直到它被清除或解雇。只有这样,导航栏才会在几秒钟后自行消失。

如果另一个应用进入前台,您的应用无法阻止它做任何想做的事。沉浸模式也不会让您 "exclusive" 访问设备的 UI。您仍然需要与其他应用共享 Android 设备。

在没有广告库示例的情况下(我不可能使用任何着色广告 SDK - 讨厌那些东西!)我要说的是这些库 可以 也会启动位于 activity 堆栈顶部的活动,这也会破坏沉浸式模式,因为这些活动可能不会自己请求它。对不起。 :-(