该 API 使用方法为 wx.stopBluetoothDevicesDiscovery(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
错误码 | 错误信息 | 说明 |
0 | ok | 正常 |
-1 | already connect | 已连接 |
10000 | not init | 未初始化蓝牙适配器 |
10001 | not available | 当前蓝牙适配器不可用 |
10002 | no device | 没有找到指定设备 |
10003 | connection fail | 连接失败 |
10004 | no service | 没有找到指定服务 |
10005 | no characteristic | 没有找到指定特征 |
10006 | no connection | 当前连接已断开 |
10007 | property not support | 当前特征不支持此操作 |
10008 | system error | 其余所有系统上报的异常 |
10009 | system not support | Android 系统特有,系统版本低于4.3不支持 BLE |
10012 | operate time out | 连接超时 |
10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 |
wx.stopBluetoothDevicesDiscovery({success (res) {console.log(res)}})
该 API 使用方法为 wx.startBluetoothDevicesDiscovery(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
services | Array.<string> |
- | 否 | 要搜索的蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID)。某些蓝牙设备会广播自己的主 service 的 UUID。如果设置此参数,则只搜索广播包有对应 UUID 的主服务的蓝牙设备。建议通过该参数过滤掉周边不需要处理的其他蓝牙设备 |
allowDuplicatesKey | boolean | false | 否 | |
interval | number | 0 | 否 | 上报设备的间隔,单位 ms。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 |
powerLevel | string | medium | 否 | 扫描模式,越高扫描越快,也越耗电。仅 Android 宿主客户端7.0.12及以上支持,合法值为: low:低 medium:中 high:高 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
错误码 | 错误信息 | 说明 |
0 | ok | 正常 |
-1 | already connect | 已连接 |
10000 | not init | 未初始化蓝牙适配器 |
10001 | not available | 当前蓝牙适配器不可用 |
10002 | no device | 没有找到指定设备 |
10003 | connection fail | 连接失败 |
10004 | no service | 没有找到指定服务 |
10005 | no characteristic | 没有找到指定特征 |
10006 | no connection | 当前连接已断开 |
10007 | property not support | 当前特征不支持此操作 |
10008 | system error | 其余所有系统上报的异常 |
10009 | system not support | Android 系统特有,系统版本低于4.3不支持 BLE |
10012 | operate time out | 连接超时 |
10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 |
// 以宿主客户端硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备wx.startBluetoothDevicesDiscovery({services: ['FEE7'],success (res) {console.log(res)}})
该 API 使用方法为 wx.openBluetoothAdapter(Object object)
mode
。属性 | 类型 | 合法值及说明 | 默认值 | 必填 | 说明 |
mode | string | central:主机模式 peripheral:从机(外围设备)模式 | central | 否 | 蓝牙模式,可作为主/从设备,仅 iOS 需要 |
success | function | - | - | 否 | 接口调用成功的回调函数 |
fail | function | - | - | 否 | 接口调用失败的回调函数 |
complete | function | - | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
错误码 | 错误信息 | 说明 |
0 | ok | 正常 |
-1 | already connect | 已连接 |
10000 | not init | 未初始化蓝牙适配器 |
10001 | not available | 当前蓝牙适配器不可用 |
10002 | no device | 没有找到指定设备 |
10003 | connection fail | 连接失败 |
10004 | no service | 没有找到指定服务 |
10005 | no characteristic | 没有找到指定特征 |
10006 | no connection | 当前连接已断开 |
10007 | property not support | 当前特征不支持此操作 |
10008 | system error | 其余所有系统上报的异常 |
10009 | system not support | Android 系统特有,系统版本低于4.3不支持 BLE |
10012 | operate time out | 连接超时 |
10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 |
状态码 | 说明 |
0 | 未知 |
1 | 重置中 |
2 | 不支持 |
3 | 未授权 |
4 | 未开启 |
wx.openBluetoothAdapter({success (res) {console.log(res)}})
该 API 使用方法为 wx.getConnectedBluetoothDevices(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
services | Array. | - | 是 | 蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID) |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
属性 | 类型 | 说明 |
devices | Array.<Object> | 搜索到的设备列表 |
结构属性 | 类型 | 说明 |
name | string | 蓝牙设备名称,某些设备可能没有 |
deviceId | string | 用于区分设备的 id |
错误码 | 错误信息 | 说明 |
0 | ok | 正常 |
-1 | already connect | 已连接 |
10000 | not init | 未初始化蓝牙适配器 |
10001 | not available | 当前蓝牙适配器不可用 |
10002 | no device | 没有找到指定设备 |
10003 | connection fail | 连接失败 |
10004 | no service | 没有找到指定服务 |
10005 | no characteristic | 没有找到指定特征 |
10006 | no connection | 当前连接已断开 |
10007 | property not support | 当前特征不支持此操作 |
10008 | system error | 其余所有系统上报的异常 |
10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE |
10012 | operate time out | 连接超时 |
10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 |
wx.getConnectedBluetoothDevices({services: ['FEE7'],success (res) {console.log(res)}})
该 API 使用方法为 wx.getBluetoothDevices(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
属性 | 类型 | 说明 |
devices | Array.<Object> | UUID 对应的已连接设备列表 |
结构属性 | 类型 | 说明 |
name | string | 蓝牙设备名称,某些设备可能没有 |
deviceId | string | 蓝牙设备 id |
RSSI | number | 当前蓝牙设备的信号强度,单位:dBm |
advertisData | ArrayBuffer | 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段 |
advertisServiceUUIDs | Array.<string> | 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 |
localName | string | 当前蓝牙设备的广播数据段中的 LocalName 数据段 |
serviceData | Object | 当前蓝牙设备的广播数据段中的 ServiceData 数据段 |
connectable | boolean | 当前蓝牙设备是否可连接( Android 8.0以下不支持返回该值 ) |
// ArrayBuffer转16进度字符串示例function ab2hex(buffer) {var hexArr = Array.prototype.map.call(new Uint8Array(buffer),function(bit) {return ('00' + bit.toString(16)).slice(-2)})return hexArr.join('');}wx.getBluetoothDevices({success: function (res) {console.log(res)if (res.devices[0]) {console.log(ab2hex(res.devices[0].advertisData))}}})
该 API 使用方法为 wx.getBluetoothAdapterState(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
属性 | 类型 | 说明 |
discovering | boolean | 是否正在搜索设备 |
available | boolean | 蓝牙适配器是否可用 |
错误码 | 错误信息 | 说明 |
0 | ok | 正常 |
-1 | already connect | 已连接 |
10000 | not init | 未初始化蓝牙适配器 |
10001 | not available | 当前蓝牙适配器不可用 |
10002 | no device | 没有找到指定设备 |
10003 | connection fail | 连接失败 |
10004 | no service | 没有找到指定服务 |
10005 | no characteristic | 没有找到指定特征 |
10006 | no connection | 当前连接已断开 |
10007 | property not support | 当前特征不支持此操作 |
10008 | system error | 其余所有系统上报的异常 |
10009 | system not support | Android 系统特有,系统版本低于4.3不支持 BLE |
10012 | operate time out | 连接超时 |
10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 |
wx.getBluetoothAdapterState({success (res) {console.log(res)}})
该 API 使用方法为 wx.closeBluetoothAdapter(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
错误码 | 错误信息 | 说明 |
0 | ok | 正常 |
-1 | already connect | 已连接 |
10000 | not init | 未初始化蓝牙适配器 |
10001 | not available | 当前蓝牙适配器不可用 |
10002 | no device | 没有找到指定设备 |
10003 | connection fail | 连接失败 |
10004 | no service | 没有找到指定服务 |
10005 | no characteristic | 没有找到指定特征 |
10006 | no connection | 当前连接已断开 |
10007 | property not support | 当前特征不支持此操作 |
10008 | system error | 其余所有系统上报的异常 |
10009 | system not support | Android 系统特有,系统版本低于4.3不支持 BLE |
10012 | operate time out | 连接超时 |
10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 |
wx.closeBluetoothAdapter({success (res) {console.log(res)}})
该 API 使用方法为 wx.onBluetoothDeviceFound(function listener)
属性 | 类型 | 说明 |
devices | Array.<Object> | 新搜索到的设备列表 |
结构属性 | 类型 | 说明 |
name | string | 蓝牙设备名称,某些设备可能没有 |
deviceId | string | 蓝牙设备 id |
RSSI | number | 当前蓝牙设备的信号强度,单位 dBm |
advertisData | ArrayBuffer | 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段 |
advertisServiceUUIDs | Array.<string> | 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 |
localName | string | 当前蓝牙设备的广播数据段中的 LocalName 数据段 |
serviceData | Object | 当前蓝牙设备的广播数据段中的 ServiceData 数据段 |
connectable | boolean | 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) |
// ArrayBuffer转16进度字符串示例function ab2hex(buffer) {var hexArr = Array.prototype.map.call(new Uint8Array(buffer),function(bit) {return ('00' + bit.toString(16)).slice(-2)})return hexArr.join('');}wx.onBluetoothDeviceFound(function(res) {var devices = res.devices;console.log('new device list has founded')console.dir(devices)console.log(ab2hex(devices[0].advertisData))})
该 API 使用方法为 wx.offBluetoothDeviceFound()
wx.offBluetoothDeviceFound()
该 API 使用方法为 wx.onBluetoothAdapterStateChange(function listener)
属性 | 类型 | 说明 |
available | boolean | 蓝牙适配器是否可用 |
discovering | boolean | 蓝牙适配器是否处于搜索状态 |
wx.onBluetoothAdapterStateChange(function (res) {console.log('adapterState changed, now is', res)})
该 API 使用方法为 wx.offBluetoothAdapterStateChange()
wx.offBluetoothAdapterStateChange()
该 API 使用方法为 wx.makeBluetoothPair(Object object)
pin
码或者密码时)系统会接管配对流程,直接调用 wx.createBLEConnection 即可。该接口只应当在开发者不想让用户手动输入 pin
码且真机验证确认可以正常生效情况下用。属性 | 类型 | 默认值 | 必填 | 说明 |
deviceId | string | - | 是 | 蓝牙设备 id |
pin | string | - | 是 | pin 码,Base64 格式。 |
timeout | number | 20000 | 否 | 超时时间,单位:ms |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
该 API 使用方法为 wx.isBluetoothDevicePaired(Object object)
属性 | 类型 | 默认值 | 必填 | 说明 |
deviceId | string | - | 是 | 蓝牙设备 id |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
本页内容是否解决了您的问题?