Game Space内application launcher未变更且不显示是何原因?
问题现象
- Game Space(游戏空间)外的常规使用场景下,application launcher(应用启动器)可正常工作
- 进入Game Space后,应用启动器没有发生预期的场景适配变更,且无法正常显示

排查修复步骤
按优先级从高到低逐一验证即可:
- 权限配置排查:Game Space默认会拦截非白名单应用的弹窗,先去系统权限管理给launcher开通全局
SYSTEM_ALERT_WINDOW悬浮窗权限,再单独进入Game Space的权限设置页,把launcher加入「游戏场景允许显示悬浮界面」的白名单,很多人只开了普通场景的悬浮窗权限,进游戏空间照样被系统拦截。 - 场景适配逻辑补全:Game Space是独立的系统沉浸式场景,普通桌面模式的launcher默认会被系统游戏遮罩层盖住:
- 给launcher增加游戏模式监听逻辑,通过系统
GameManager接口检测到进入Game Space时,主动切换为游戏侧边栏的轻量启动布局,不要沿用普通桌面的全屏launcher逻辑 - 识别到进入游戏空间时,将launcher的窗口类型设置为
TYPE_APPLICATION_OVERLAY,把窗口层级调到最高,避免被Game Space的遮罩层覆盖
- 给launcher增加游戏模式监听逻辑,通过系统
- 功能冲突排查:多数定制安卓系统的Game Space自带官方快速启动侧边栏,会默认禁用第三方launcher在游戏内显示,直接进入Game Space设置关掉自带侧边栏功能,或者把第三方launcher设为游戏空间默认快速启动组件即可。如果是做ROM定制开发场景,直接修改Game Space的窗口过滤配置文件,把launcher包名从游戏场景屏蔽列表里删掉就能解决。
内容的提问来源于stack exchange,提问作者user16238776
相关产品推荐
相关产品推荐

