美文网首页
SystemUI演示模式 (Demo mode)

SystemUI演示模式 (Demo mode)

作者: Soetsu | 来源:发表于2020-06-17 13:25 被阅读0次

    Android SystemUI的演示模式

    状态栏的演示模式允许您强制状态栏进入固定的状态,这对于使用一致的状态栏状态进行截图或测试不同的状态图标排列非常有用。演示模式在最近版本的Android中可用。

    启用演示模式

    演示模式在系统设置后受到保护。在设备上启用它,执行命令:

    adb shell settings put global sysui_demo_allowed 1
    

    协议

    该协议基于广播意图,因此可以通过命令行(adb shell am broadcast)或应用程序(Context.sendBroadcast)来驱动。

    广播 action

    com.android.systemui.demo
    

    命令

    命令和子命令(如下)在广播中作为字符串附加发送意图。


    命令以字符串附加键command(必需)发送。可能的值是:

    命令 子命令 参数 描述
    enter 进入演示模式,状态栏允许被修改(为了方便,任何其他非退出命令将自动打开演示模式,不需要在实践中主动调用它)
    exit 退出演示模式,状态栏回到它们的系统驱动状态
    battery 控制电池显示
    level 设置电池电量(0 - 100)
    plugged 设置充电状态 (true, false)
    powersave 设置省电模式 (true, anything else)
    network 控制 RSSI 显示
    airplane show 显示图标, 任意其他值隐藏
    fully 设置MCS状态为完全连接 (true, false)
    wifi show 显示图标, 任意其他值隐藏
    level 设置wifi等级 (null 或 0-4)
    mobile show 显示图标, 任意其他值隐藏
    datatype 值: 1x, 3g, 4g, e, g, h, lte, roam,任意其他值隐藏
    level 设置信号塔强度等级 (null 或 0-4)
    carriernetworkchange 设置移动信号图标为运营商网络切换用户体验时断开 (show 显示图标, 任意其他值隐藏)
    sims 设置sim数量 (1-8)
    nosim show 显示图标, 任意其他值隐藏
    bars 控制状态栏的视觉样式 (opaque, translucent等)
    mode 设置状态栏的视觉样式 (opaque, translucent, semi-transparent)
    status 控制状态栏上的系统图标
    volume 设置volume图标槽上的图标 (silent, vibrate, any other value to hide)
    bluetooth 设置bluetooth图标槽上的图标 (connected, disconnected, 任意其他值隐藏)
    location 设置location图标槽上的图标 (show, 任意其他值隐藏)
    alarm 设置alarm图标槽上的图标 (show, 任意其他值隐藏)
    sync 设置sync_active图标槽上的图标 (show, 任意其他值隐藏)
    tty 设置tty图标槽上的图标 (show, 任意其他值隐藏)
    eri 设置cdma_eri图标槽上的图标 (show, 任意其他值隐藏)
    mute 设置mute图标槽上的图标 (show, 任意其他值隐藏)
    speakerphone 设置speakerphone图标槽上的图标 (show, 任意其他值隐藏)
    notifications 控制通知图标
    visible false 隐藏通知图标,任意其他值显示
    clock 控制时钟显示
    millis 设置时间,单位为毫秒ms
    hhmm 设置时间,单位为hh:mm

    示例

    进入演示模式

    adb shell am broadcast -a com.android.systemui.demo -e command enter
    

    退出演示模式

    adb shell am broadcast -a com.android.systemui.demo -e command exit
    

    设置clock时间为 12:31

    adb shell am broadcast -a com.android.systemui.demo -e command clock -e hhmm
    1231
    

    设置wifi级别为最大值

    adb shell am broadcast -a com.android.systemui.demo -e command network -e wifi
    show -e level 4
    

    显示静音图标

    adb shell am broadcast -a com.android.systemui.demo -e command status -e volume
    silent
    

    电量为空且未充电 (红色的感叹号)

    adb shell am broadcast -a com.android.systemui.demo -e command battery -e level
    0 -e plugged false
    

    隐藏通知图标

    adb shell am broadcast -a com.android.systemui.demo -e command notifications -e
    visible false
    

    AOSP中的示例演示控制器应用程序

    frameworks/base/tests/SystemUIDemoModeController
    

    示例脚本(用于屏幕截图)

    #!/bin/sh
    CMD=$1
    
    if [[ $ADB == "" ]]; then
      ADB=adb
    fi
    
    if [[ $CMD != "on" && $CMD != "off" ]]; then
      echo "Usage: $0 [on|off] [hhmm]" >&2
      exit
    fi
    
    if [[ "$2" != "" ]]; then
      HHMM="$2"
    fi
    
    $ADB root || exit
    $ADB wait-for-devices
    $ADB shell settings put global sysui_demo_allowed 1
    
    if [ $CMD == "on" ]; then
      $ADB shell am broadcast -a com.android.systemui.demo -e command enter || exit
      if [[ "$HHMM" != "" ]]; then
        $ADB shell am broadcast -a com.android.systemui.demo -e command clock -e
    hhmm ${HHMM}
      fi
      $ADB shell am broadcast -a com.android.systemui.demo -e command battery -e
    plugged false
      $ADB shell am broadcast -a com.android.systemui.demo -e command battery -e
    level 100
      $ADB shell am broadcast -a com.android.systemui.demo -e command network -e
    wifi show -e level 4
      $ADB shell am broadcast -a com.android.systemui.demo -e command network -e
    mobile show -e datatype none -e level 4
      $ADB shell am broadcast -a com.android.systemui.demo -e command notifications
    -e visible false
    elif [ $CMD == "off" ]; then
      $ADB shell am broadcast -a com.android.systemui.demo -e command exit
    fi
    

    相关文章

      网友评论

          本文标题:SystemUI演示模式 (Demo mode)

          本文链接:https://www.haomeiwen.com/subject/quxsxktx.html