# 屏幕控制

# 协议类型

消息类型 名称 必须实现
directive set_state 否,有屏设备必须实现
set_brightness 否,有屏设备必须实现

# context

请求示例

"unios_context": {
  ...
  "screen": {
    "version": "1.0",
    "state": "ON",
    "brightness": 78,
    "type": "percent"
  },
  ...
}
1
2
3
4
5
6
7
8
9
10
参数 类型 说明 必填
version String 模块版本,现在是1.0
state String 屏幕开关状态,取值:ON,OFF
brightness Long 亮度数值
type String 亮度值类型,取值:percent

# directive

如果设备可以触控调节屏幕亮度,设备屏幕亮度变动时,需发送设备状态同步(system.state_sync)请求。

打开/关闭屏幕
当用户请求打开/关闭屏幕时,会收到云端下发的directive,需要根据设备本身的情况,对该返回进行合适的处理。如:若设备不支持息屏,可以选择显示一个息屏的页面。

回复示例

{
  "unios_directives": [
    ...,
    {
      "header": {
        "name": "screen.set_state"
      },
      "payload": {
        "state": "OFF"
      }
    }
 ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
参数 类型 说明 必填
state String 将屏幕设置为开/关状态,取值:ON,OFF

调整屏幕亮度

提示

若设备的亮度是绝对值(即最大亮度不是100),设备可能会收到以百分比为单位的亮度。此时需要将云端返回的百分比数值进行计算。对应到设备本身使用的绝对数值。

回复示例

{
  "unios_directives": [
    ...,
   {
      "header": {
        "name": "screen.set_brightness"
      },
      "payload": {
        "brightness": 79,
        "type": "percent"
      }
    }
 ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
参数 类型 说明 必填
brightness Long 亮度数值
type String 亮度类型,取值:percent