最近一些项目在按常规要求升级 targetSdkVersion 到 36 之后,提审遇到了被拒的情况。审核反馈通常比较笼统,提示界面存在显示缺陷或关键操作被遮挡。
排查下来,很多并不是业务逻辑或者权限问题,而是出在 Target API 36 对 Edge-to-Edge(边到边全屏)的强制要求上。
具体原因:
在之前的 Android 版本中,应用通常可以自主决定是否开启全屏边到边显示,系统默认会为状态栏和底部导航栏预留区域。
但从 API 36 开始,系统强制开启了边到边特性,不再支持全局关闭。也就是说,应用界面默认会直接铺满整个屏幕,内容延伸到底部手势栏和顶部状态栏下方。
如果工程内部之前没有处理好 WindowInsets:
- 底部固定位置的“下一步”、“提交”或“支付”按钮,很容易被系统底部的手势指示条直接遮挡,导致点击无响应或误触返回桌面。
- 顶部导航栏的标题或返回键,在挖孔屏或异形屏设备上可能被摄像头区域遮挡。
审核人员在真机测试时,只要发现核心操作按钮被遮挡无法顺利进入下一步,就会直接判定为界面交互缺陷并驳回。
处理方式:
改动并不复杂,主要是布局层面的适配:
- 检查各核心页面(特别是登录、支付、表单等主要流程页面)的根布局,确保正确监听并应用了系统窗口内边距(Window Insets),给状态栏和底部导航栏留出合理的 padding。
- 打包后,务必使用开启了手势导航的高版本真机(或模拟器)完整走一遍核心路径,确认关键按钮与系统栏之间保留足够的操作间距。
把这部分内边距处理好,基本就能避免这类因界面遮挡导致的驳回。
有问题找老铁出海,专业谷歌商店上架、Google Play 上架、Google/Facebook代投,业务小飞机: @laotienb
