设备状态同步与远程控制
示例说明
演示手机端如何通过经典蓝牙通道向眼镜发消息,请求系统信息、拉取电量,并设置亮度、音量和配置项。
使用位置
手机端首页:
MainPhoneActivity
设置页:
SettingActivity
核心状态管理:
DeviceLinkerManager
适用端
- 手机端
- 眼镜端
关键文件
- glass3sdkphonedemo/app/src/main/java/com/rokid/phone/DeviceLinkerManager.kt
- glass3sdkphonedemo/app/src/main/java/com/rokid/phone/ui/MainPhoneActivity.kt
- glass3sdkphonedemo/app/src/main/java/com/rokid/phone/SettingActivity.kt
流程说明
发送业务消息手机端通过经典蓝牙发送 JSON 文本消息。
眼镜端处理眼镜端按
ProjectBusinessType 分发业务逻辑。返回状态数据眼镜端回传系统信息、电量、亮度、音量等数据。
手机端刷新 UI手机端解析回调并更新全局连接状态和页面展示。
- 手机端通过
sendTextMessageByClassicBT()发送业务消息。 - 消息体使用
CustomMessage+ProjectBusinessType约定类型。 - 眼镜端处理后,再通过经典蓝牙回传系统信息。
- 手机端在
messageListener中解析:- 系统版本
- 设备 ID
- 电量
- 亮度
- 音量
- 指环连接状态
- 页面根据全局状态刷新 UI。
典型指令
- 获取系统信息:
GET_SYSTEM_INFO - 获取电量:
POWER_UPDATE - 设置亮度:
SET_BRIGHTNESS - 设置音量:
SET_VOLUME - 发送配置:
SEND_CONFIG - 设置变焦:
SET_ZOOM_CAMERA
相关 API
扩展方式
因为很多控制命令都属于轻量级请求,使用 JSON 文本消息最容易扩展和排查。
新增控制能力时,通常需要同步调整:
- 增加一个
ProjectBusinessType - 扩展
CustomMessage - 在两端各自补充发送和处理逻辑
注意事项
- 当前协议是项目内自定义协议,不是 SDK 内置标准消息协议。
- 新增字段时要注意前后兼容。
- 首页中的亮度和音量操作要求蓝牙已连接。