You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 13中XRecorder应用悬浮窗权限请求弹窗实现方式问询

问题描述

一款名为XRecorder的应用,在用户申请draw over apps权限时,会显示顶部带深色半透明背景的弹窗/模态框。原本以为它采用了某种遗留方案,但该应用刚完成更新。此前认为无法在Android设置应用上添加任何弹窗,请问它是否在Android 13中使用了Bubble功能?恳请知晓实现方式的人士解答,所知的其他方法均会被窗口权限拦截。

(配图:XRecorder权限申请弹窗)

解答

这并不是使用Bubble功能实现的——Bubble是Android针对对话类场景设计的悬浮交互组件,和这种顶部弹窗的实现逻辑完全不同。

实际的实现逻辑是利用了Android系统的权限页特殊豁免机制:

  • 当应用需要申请SYSTEM_ALERT_WINDOW(即draw over apps)权限时,会先跳转到系统的权限设置页(对应Intent为Settings.ACTION_MANAGE_OVERLAY_PERMISSION)
  • 在跳转的同时,应用通过WindowManager创建一个类型为TYPE_APPLICATION_OVERLAY(Android 8.0及以上)的窗口,设置如下关键参数:
    • 窗口标记添加FLAG_NOT_FOCUSABLE(避免抢占设置页焦点)、FLAG_LAYOUT_IN_SCREEN(全屏布局)
    • 窗口布局固定在顶部,背景设为深色半透明,搭配引导用户开启权限的文案
  • 系统针对这个特定的权限设置页,会豁免持有权限申请诉求的应用的窗口绘制拦截——这是应用引导用户完成权限开启的合理场景,即使在Android 13及以上版本依然有效,不属于遗留方案。

内容的提问来源于stack exchange,提问作者Cparello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:22:39