收藏
回答

蓝牙 (Bluetooth)

https://developers.weixin.qq.com/miniprogram/dev/framework/device/bluetooth.html

3.1 设备 ID (deviceId)

每个蓝牙外围设备都有唯一的 deviceId 来标识。由于部分系统实现的限制,对于同一台蓝牙外围设备,在不同中心设备上扫描获取到的 deviceId 可能是变化的。因此 deviceId 不能硬编码到代码中。

  • Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址,相对固定;
  • iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUID。对于已连接过的设备,UUID 会在一段时间内保持不变。此外,UUID 也会在某些条件下可能会发生变化(如系统蓝牙模块重启、配对设备被忽略等),在不同的设备上获取到的 UUID 也是不同的

你们这个说明和api中的说明简直是互相矛盾的,既然deviceId可能是变化的,那么每次想要连接外围设备,不是都需要进行扫描吗?为什么可以保存deviceId然后跳过扫描到阶段

回答关注问题邀请回答
收藏

1 个回答

  • YoKo
    YoKo
    01-08

    ios可以设定deviceid的范围值


    01-08
    有用
    回复 3
    • 陈附议
      陈附议
      01-08
      如何设定,设定了范围值就能确保不会变化?
      01-08
      回复
    • YoKo
      YoKo
      01-08回复陈附议
      ios  看发现时间去自己 去定义条件范围
      01-08
      回复
    • 陈附议
      陈附议
      01-08回复YoKo
      有没有参考的文档链接
      01-08
      回复
登录 后发表内容