You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用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

火山引擎 最新活动