LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 479|回复: 0

小程序中的蓝牙能力

[复制链接]
发表于 2024-1-16 16:03:42 | 显示全部楼层 |阅读模式
在小程序中,要使用蓝牙能力(Beacon 除外)必须首先调用 wx.openBluetoothAdapter 初始化蓝牙适配器模块,其生效周期为调用 wx.openBluetoothAdapter 至调用 wx.closeBluetoothAdapter 或小程序被销毁为止。只有在小程序蓝牙适配器模块生效期间,开发者才能够正常调用蓝牙相关的小程序 API,并收到蓝牙模块相关的事件回调(绑定监听不受此限制)。

小程序对蓝牙支持情况如下:

经典蓝牙:iOS 因系统限制暂无法提供,安卓目前已在规划中。
蓝牙低功耗 (BLE):
主机模式:基础库 1.1.0(微信客户端 iOS 6.5.6,Android 6.5.7)开始支持。
从机模式:基础库 2.10.3 开始支持。
蓝牙信标 (Beacon):基础库 1.2.0 开始支持。

注意事项
由于各平台对蓝牙协议栈的实现和限制有较大差异,开发者在使用小程序蓝牙能力时还需要注意以下方面:

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

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

调试
不同平台的蓝牙实现也存在较大差异。小程序会在提供统一接口的基础上,尽可能的提供完整的系统蓝牙能力,弱化不同平台的实现差异。

但由于操作系统本身的限制,部分能力无法保证完全一致,请开发者注意文档中的注意事项,并在各端的真机都进行调试。开发者工具上只能模拟部分蓝牙接口能力,完整功能请使用真机调试。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表