Skip to content

蓝牙连接排查

本页用于排查手机端 App 与 Rokid Glass3 之间的蓝牙扫描、配对和连接问题。

1. 蓝牙在 SDK 中的作用

Glass3 SDK 中,蓝牙主要用于:

  • 扫描和发现眼镜设备。
  • 建立手机与眼镜的基础连接。
  • 传输小消息、控制指令和部分轻量数据。
  • 发起 P2P 建连协商。

大文件、图片、视频和实时音视频流建议走 P2P。

2. 连接前检查

检查项要求说明
眼镜系统企业版/工作系统Rokid AI 企业版只能连接企业系统。
手机 App企业版 App 或企业版 Demo消费版 App 与企业版系统不通用。
蓝牙开关手机和眼镜均已开启建议重启蓝牙后再试。
定位权限Android 10+ 通常需要蓝牙扫描可能依赖定位权限。
附近设备权限Android 12+ 需要包括 BLUETOOTH_SCANBLUETOOTH_CONNECT
连接占用眼镜未被其他手机连接已连接其他手机时通常扫描不到。

3. 扫描不到眼镜

可能原因

  • 手机未授予蓝牙、附近设备或定位权限。
  • 手机蓝牙或眼镜蓝牙未开启。
  • 眼镜已经被另一台手机连接。
  • 眼镜系统和手机 App 版本不匹配。
  • 扫描过滤条件不正确。

排查步骤

  1. 在系统设置中确认 App 已获得蓝牙、附近设备和定位权限。
  2. 确认眼镜未连接其他手机。
  3. 在手机系统蓝牙设置中查看是否能发现 Glass3_XXXX
  4. 检查扫描过滤逻辑,确认没有过滤掉 Glass3_ 前缀设备。
  5. 保留从申请权限到开始扫描的完整 logcat。

4. 扫描到但连接失败

可能原因

  • 历史配对信息失效。
  • 眼镜已连接其他手机。
  • 手机系统蓝牙栈异常。
  • 企业版/消费版系统或 App 不匹配。
  • 业务侧在 SDK 初始化前过早发起连接。

排查步骤

  1. 在手机系统蓝牙设置中取消配对,再重新连接。
  2. 重启手机和眼镜。
  3. 确认使用的是企业版系统和企业版 App/Demo。
  4. 确认 SDK 初始化完成后再发起扫描和连接。
  5. 捕获连接失败前后 30 秒 logcat。

5. 蓝牙已连接但消息异常

现象

  • 连接状态显示成功,但收不到消息。
  • 手机发给眼镜无响应。
  • 眼镜发给手机无响应。

排查重点

  • 手机端和眼镜端 clientId 是否一致。
  • 眼镜端应用是否已注册客户端。
  • 接收回调是否已正确注册。
  • 目标 App 是否在前台或未被系统清理。
  • 大文件是否误走蓝牙传输。

6. 日志建议

请保留完整连接链路日志:

text
申请权限 → 开始扫描 → 发现设备 → 发起连接 → 连接结果 → 发送/接收消息

提交问题时建议提供:

  • 手机型号和 Android 版本。
  • 眼镜 SN 和系统版本。
  • SDK 版本。
  • App 包名。
  • 是否连接过其他手机。
  • 完整 logcat。

7. 快速判断

现象优先判断
完全扫描不到权限、系统版本、是否被其他手机连接。
扫描到但连不上配对状态、系统/App 是否匹配、蓝牙栈是否异常。
连接后消息不通clientId、回调注册、眼镜端 App 是否存活。
大文件传输慢不要走蓝牙,改用 P2P。