# 屏幕控制
# 协议类型
消息类型 | 名称 | 必须实现 |
---|---|---|
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 | 是 |