如何通过shell/ADB读取当前的沉浸式模式状态



是否有安卓shell命令可以获取沉浸模式的当前状态(即immersive.fullimmersive.statusimmersive.navigationimmersive.off(?

沉浸式模式可以通过外壳命令settings put global policy_control immersive.full=*设置,其他系统状态可以通过外壳查询(例如用settings get system screen_brightness获取当前亮度级别(。然而,我不知道什么命令会返回沉浸模式的当前状态。目标是通过编程检测应用程序当前是否处于沉浸式模式(用于Tasker和Macrodoid等自动化应用程序(。

我尝试过各种听起来可能的命令组合,比如:settings get system immersivemodesettings get system immersive_modesettings get global policy_control,但大多数都会返回语法错误,因为我真的不知道自己在寻找什么。有什么建议吗?

如果您使用settings put global policy_control immersive.full=*,所有应用程序都将进入此策略,因为您使用通配符*

你必须指出你想在哪些应用程序中应用类似settings put global policy_control immersive.full=com.package.app的策略

此外,如果你想将该策略应用于所有应用程序,但不适用于某些应用程序,比如settings put global policy_control immersive.full=apps,-com.android.settings,-com.package.app

如果你想从中获得值,你必须使用动词get,而不是put

例如,您可以尝试settings get global policy_control,输出将是您使用put设置的值,使用上一个示例,输出将为immersive.full=apps,-com.android.settings,-com.package.app

希望这能帮助你:(

PS。检查最后一个命令语法,我使用它没有问题命令输出

PS2.此策略不适用于Android 11

最新更新