Android 10 Go系统如何强制开启Display over other apps权限?
问题诊断
- 该限制属于海信为Android 10 Go Edition定制的人为功能拦截,系统底层本身具备悬浮窗渲染能力:Android 4.4/6时代没有针对低RAM设备的Go版裁剪规则,原生系统未做该权限限制,因此同配置甚至更低RAM的设备可以正常运行Bolt Driver。
- 谷歌给Android 10 Go Edition的官方适配指南明确允许OEM在1GB RAM设备上默认关闭悬浮窗(Display over other apps)等后台高功耗权限,避免拖慢系统运行速度,海信的ROM直接对该权限做了全局拦截,普通应用申请时直接返回「Feature not available」。
可行解决方案
无需Root尝试方案
- 优先通过ADB直接授予权限:开启手机开发者选项内的USB调试,连接电脑后执行以下命令:
adb shell pm grant com.bolt.driver android.permission.SYSTEM_ALERT_WINDOW
若执行后返回「Permission not allowed to grant」,说明ROM底层做了权限白名单拦截,普通ADB权限无法绕过
- 安装Bolt Driver 2021年之前发布的旧版本:该类版本没有强制要求悬浮窗权限,仅需通知权限即可实现基础派单、导航功能,可直接安装使用。
已Root设备强制开启方案
如果无需Root的方案均无效,已获取Root权限的设备可通过修改系统配置解除限制:
- 用文件管理器访问
/system/build.prop,修改以下参数,保存后重启手机:
ro.config.low_ram=false sys.config.disable_overlay=false
重启后悬浮窗权限入口会直接显示在应用权限管理页面,可手动为Bolt Driver开启。
- 若修改build.prop无效,可直接禁用系统的低RAM权限拦截服务,执行命令:
su -c pm disable com.android.server.pm.permission.LowRamPermissionEnforcer
注意事项
- 将
ro.config.low_ram修改为false后,设备会退出Go版低RAM优化模式,系统动画、后台多任务运行流畅度会有明显下降,仅建议在需要使用Bolt Driver时开启,无需使用时可改回原参数。 - 部分海信定制ROM会校验build.prop文件签名,修改后可能出现无法开机的问题,建议修改前先备份原build.prop文件。
内容的提问来源于stack exchange,提问作者Bryan Kelly
相关产品推荐
相关产品推荐

