# 屏幕控制
# 协议类型
| 消息类型 | 名称 | 必须实现 | 
|---|---|---|
| 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
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
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
2
3
4
5
6
7
8
9
10
11
12
13
14
| 参数 | 类型 | 说明 | 必填 | 
|---|---|---|---|
| brightness | Long | 亮度数值 | 是 | 
| type | String | 亮度类型,取值:percent | 是 |