如何使用ADB禁用单个应用的沉浸模式?
如何使用ADB禁用单个应用的沉浸模式?
嘿,我太懂你这种丢了笔记、全网搜不到的抓狂感了!之前我也给某个应用关过沉浸模式,刚好把步骤和命令都记牢了,给你一步步说清楚:
先确保你的安卓设备已经开启USB调试,并且和电脑正常连接,电脑上的ADB工具能识别到设备(可以先执行
adb devices验证,能看到设备列表就没问题)。进入ADB shell环境:
adb shell执行核心命令,把
<你的应用包名>替换成你要限制的App的实际包名(比如微信是com.tencent.mm):settings put global policy_control immersive.full=!<你的应用包名>这个命令的作用是:在系统全局设置中,禁止指定应用使用完全沉浸式全屏模式(也就是会隐藏状态栏和导航栏的那种沉浸模式)。
如果之后想恢复该应用的沉浸模式权限,只需要把对应的包名从全局设置中移除,或者直接执行重置命令(这个会清空所有沉浸式模式的全局控制规则,如果你只改了这一个应用的话,用这个最省心):
settings delete global policy_control
针对旧系统的备选方案
如果你的设备是Android 7.0(API 24)之前的版本,上面的policy_control设置项可能不存在,那可以试试这个命令:appops set <你的应用包名> CONTROL_DISPLAY deny
这个命令会禁止应用控制显示相关的系统设置,自然也就没法进入沉浸模式了。
小技巧:快速获取应用包名
要是你不确定目标应用的包名,可以用这两个命令:
- 列出设备上所有已安装应用的包名:
adb shell pm list packages - 获取当前前台运行应用的包名:
adb shell dumpsys window windows | grep mCurrentFocus
内容来源于stack exchange




