千家信息网

openBluetoothAdapter初始化蓝牙适配器的方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"openBluetoothAdapter初始化蓝牙适配器的方法",在日常操作中,相信很多人在openBluetoothAdapter初始化蓝牙适配器的方法问题上存在疑惑,小编查阅了各
千家信息网最后更新 2026年11月02日openBluetoothAdapter初始化蓝牙适配器的方法

这篇文章主要介绍"openBluetoothAdapter初始化蓝牙适配器的方法",在日常操作中,相信很多人在openBluetoothAdapter初始化蓝牙适配器的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"openBluetoothAdapter初始化蓝牙适配器的方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

蓝牙适配器接口


基础库版本 1.1.0 开始支持,低版本需做兼容处理

iOS 微信客户端 6.5.6 版本开始支持,Android 客户端暂不支持

wx.openBluetoothAdapter(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

初始化蓝牙适配器

OBJECT参数说明:

参数类型必填说明
successFunction是成功则返回成功初始化信息
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.openBluetoothAdapter({  success: function (res) {console.log(res)  }})

Bug & Tip

  1. tip: 由于系统的问题,目前仅在 mac 版的开发工具上支持蓝牙调试

  2. tip: 基础库版本 1.1.0 开始支持,低版本需做兼容处理

wx.closeBluetoothAdapter(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

关闭蓝牙模块。调用该方法将断开所有已建立的链接并释放系统资源

OBJECT参数说明:

参数类型必填说明
successFunction是成功则返回成功关闭模块信息
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.closeBluetoothAdapter({  success: function (res) {console.log(res)  }})

wx.getBluetoothAdapterState(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

获取本机蓝牙适配器状态

OBJECT参数说明:

参数类型必填说明
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
discoveringBoolean是否正在搜索设备
availableBoolean蓝牙适配器是否可用
errMsgString成功:ok,错误:详细信息
示例代码:
wx.getBluetoothAdapterState({  success: function (res) {console.log(res)  }})

wx.onBluetoothAdapterStateChange(CALLBACK)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

监听蓝牙适配器状态变化事件

CALLBACK参数说明:

参数类型说明
availableboolean蓝牙适配器是否可用
discoveringboolean蓝牙适配器是否处于搜索状态

示例代码:

wx.onBluetoothAdapterStateChange(function(res) {  console.log(`adapterState changed, now is`, res)})

wx.startBluetoothDevicesDiscovery(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

开始搜寻附近的蓝牙外围设备。注意,该操作比较耗费系统资源,请在搜索并连接到设备后调用 stop 方法停止搜索。

OBJECT参数说明:

参数类型必填说明
servicesArray否蓝牙设备主 service 的 uuid 列表
allowDuplicatesKeyboolean否是否允许重复上报同一设备, 如果允许重复上报,则onDeviceFound 方法会多次上报同一设备,但是 RSSI 值会有不同
intervalinteger否上报设备的间隔,默认为0,意思是找到新设备立即上报,否则根据传入的间隔上报
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

services参数说明:某些蓝牙设备会广播自己的主 service 的 uuid。如果这里传入该数组,那么根据该 uuid 列表,只搜索有这个主服务的设备。

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息
isDiscoveringboolean当前蓝牙适配器是否处于搜索状态

示例代码:

// 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备wx.startBluetoothDevicesDiscovery({  services: ['FEE7'],  success: function (res) {console.log(res)  }})

wx.stopBluetoothDevicesDiscovery(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

停止搜寻附近的蓝牙外围设备。请在确保找到需要连接的设备后调用该方法停止搜索。

OBJECT参数说明:

参数类型必填说明
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

adapterState

蓝牙适配器状态信息

参数类型说明
discoveringboolean是否正在搜索设备
availableboolean蓝牙适配器是否可用

示例代码:

wx.stopBluetoothDevicesDiscovery({  success: function (res) {console.log(res)  }})

wx.getBluetoothDevices(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

获取所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备

OBJECT参数说明:

参数类型必填说明
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
devicesArrayuuid 对应的的已连接设备列表
errMsgstring成功:ok,错误:详细信息

device 对象

蓝牙设备信息

参数类型说明
namestring蓝牙设备名称,某些设备可能没有
deviceIdstring用于区分设备的 id
RSSIint当前蓝牙设备的信号强度
advertisDataArrayBuffer当前蓝牙设备的广播内容(注意:vConsole 无法打印出 ArrayBuffer 类型数据)

示例代码:

wx.getBluetoothDevices({  success: function (res) {console.log(res)  }})

Bug & Tip

  1. tip: Mac系统可能无法获取advertisData及RSSI,请使用真机调试

  2. tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中

wx.getConnectedBluetoothDevices(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

根据 uuid 获取处于已连接状态的设备

OBJECT参数说明:

参数类型必填说明
servicesArray是蓝牙设备主 service 的 uuid 列表
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
devicesArray搜索到的设备列表
errMsgstring成功:ok,错误:详细信息

device对象

蓝牙设备信息

参数类型说明
namestring蓝牙设备名称,某些设备可能没有
deviceIdstring用于区分设备的 id

示例代码:

wx.getConnectedBluetoothDevices({  success: function (res) {console.log(res)  }})

Bug & Tip

  1. tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中

wx.onBluetoothDeviceFound(CALLBACK)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

监听寻找到新设备的事件

CALLBACK参数说明:

参数类型说明
devicesArray新搜索到的设备列表

device对象

参数类型说明
deviceIdstring蓝牙设备 id,参考 device 对象
namestring蓝牙设备名称,参考 device 对象
RSSIint当前蓝牙设备的信号强度
advertisDataArrayBuffer当前蓝牙设备的广播内容(注意:vConsole 无法打印出 ArrayBuffer 类型数据)

示例代码:

wx.onBluetoothDeviceFound(function(devices) {  console.log('new device list has founded')  console.dir(devices)})

Bug & Tip

  1. tip: Mac系统可能无法获取advertisData及RSSI,请使用真机调试

  2. tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中

低功耗蓝牙接口

wx.createBLEConnection(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

连接低功耗蓝牙设备

OBJECT参数说明:

参数类型必填说明
deviceIdstring是蓝牙设备 id,参考 getDevices 接口
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

示例代码:

wx.createBLEConnection({  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取  deviceId: deviceId,  success: function (res) {console.log(res)  }})

wx.closeBLEConnection(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

断开与低功耗蓝牙设备的连接

OBJECT参数说明:

参数类型必填说明
deviceIdstring是蓝牙设备 id,参考 getDevices 接口
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

示例代码:

wx.closeBLEConnection({  success: function (res) {console.log(res)  }})

wx.getBLEDeviceServices(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

获取蓝牙设备所有 service(服务)

OBJECT参数说明:

参数类型必填说明
deviceIdstring是蓝牙设备 id,参考 getDevices 接口
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
servicesarray设备服务列表
errMsgstring成功:ok,错误:详细信息

service对象

蓝牙设备service(服务)信息

参数类型说明
uuidstring蓝牙设备服务的 uuid
isPrimaryboolean该服务是否为主服务

示例代码:

wx.getBLEDeviceServices({  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取  deviceId: deviceId,  success: function (res) {console.log('device services:', res.services)  }})

wx.getBLEDeviceCharacteristics(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

获取蓝牙设备所有 characteristic(特征值)

OBJECT参数说明:

参数类型必填说明
deviceIdstring是蓝牙设备 id,参考 device 对象
serviceIdstring是蓝牙服务 uuid
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
characteristicsarray设备特征值列表
errMsgstring成功:ok,错误:详细信息

characteristic对象

蓝牙设备characteristic(特征值)信息

参数类型说明
uuidstring蓝牙设备特征值的 uuid
propertiesobject该特征值支持的操作类型

properties对象

参数类型说明
readboolean该特征值是否支持 read 操作
writeboolean该特征值是否支持 write 操作
notifyboolean该特征值是否支持 notify 操作
indicateboolean该特征值是否支持 indicate 操作

示例代码:

wx.getBLEDeviceCharacteristics({  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取  deviceId: deviceId,  // 这里的 serviceId 需要在上面的 getBLEDeviceServices 接口中获取  serviceId: serviceId,  success: function (res) {console.log('device getBLEDeviceCharacteristics:', res.characteristics)  }})

wx.readBLECharacteristicValue(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

读取低功耗蓝牙设备的特征值的二进制数据值。注意:必须设备的特征值支持read才可以成功调用,具体参照 characteristic 的 properties 属性

OBJECT参数说明:

参数类型必填说明
deviceIdstring是蓝牙设备 id,参考 device 对象
serviceIdstring是蓝牙特征值对应服务的 uuid
characteristicIdstring是蓝牙特征值的 uuid
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
characteristicobject设备特征值信息
errMsgstring成功:ok,错误:详细信息

characteristic对象

蓝牙设备characteristic(特征值)信息

参数类型说明
characteristicIdstring蓝牙设备特征值的 uuid
serviceIdobject蓝牙设备特征值对应服务的 uuid
valueArrayBuffer蓝牙设备特征值对应的二进制值(注意:vConsole 无法打印出 ArrayBuffer 类型数据)

示例代码:

// 必须在这里的回调才能获取wx.onBLECharacteristicValueChange(function(characteristic) {  console.log('characteristic value comed:', characteristic)})wx.readBLECharacteristicValue({  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取  deviceId: deviceId,  // 这里的 serviceId 需要在上面的 getBLEDeviceServices 接口中获取  serviceId: serviceId,  // 这里的 characteristicId 需要在上面的 getBLEDeviceCharacteristics 接口中获取  characteristicId: characteristicId,  success: function (res) {console.log('readBLECharacteristicValue:', res.characteristic.value)  }})

Bug & Tip

  1. tip: 并行调用多次读写接口存在读写失败的可能性。

  2. tip:read接口读取到的信息需要在onBLECharacteristicValueChange方法注册的回调中获取。

wx.writeBLECharacteristicValue(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

向低功耗蓝牙设备特征值中写入二进制数据。注意:必须设备的特征值支持write才可以成功调用,具体参照 characteristic 的 properties 属性

tips: 并行调用多次读写接口存在读写失败的可能性

OBJECT参数说明:

参数类型必填说明
deviceIdstring是蓝牙设备 id,参考 device 对象
serviceIdstring是蓝牙特征值对应服务的 uuid
characteristicIdstring是蓝牙特征值的 uuid
valueArrayBuffer是蓝牙设备特征值对应的二进制值(注意:vConsole 无法打印出 ArrayBuffer 类型数据)
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

示例代码:

// 这里的回调可以获取到 write 导致的特征值改变wx.onBLECharacteristicValueChange(function(characteristic) {  console.log('characteristic value changed:', characteristic)})// 向蓝牙设备发送一个0x00的16进制数据let buffer = new ArrayBuffer(1)let dataView = new DataView(buffer)dataView.setUint8(0, 0)wx.writeBLECharacteristicValue({  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取  deviceId: deviceId,  // 这里的 serviceId 需要在上面的 getBLEDeviceServices 接口中获取  serviceId: serviceId,  // 这里的 characteristicId 需要在上面的 getBLEDeviceCharacteristics 接口中获取  characteristicId: characteristicId,  // 这里的value是ArrayBuffer类型  value: buffer,  success: function (res) {console.log('writeBLECharacteristicValue success', res.errMsg)  }})

wx.notifyBLECharacteristicValueChanged(OBJECT)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

启用低功耗蓝牙设备特征值变化时的 notify 功能。注意:必须设备的特征值支持notify才可以成功调用,具体参照 characteristic 的 properties 属性

另外,必须先启用notify才能监听到设备 characteristicValueChange 事件

OBJECT参数说明:

参数类型必填说明
deviceIdstring是蓝牙设备 id,参考 device 对象
serviceIdstring是蓝牙特征值对应服务的 uuid
characteristicIdstring是蓝牙特征值的 uuid
stateboolean是true: 启用 notify; false: 停用 notify
successFunction是成功则返回本机蓝牙适配器状态
failFunction否接口调用失败的回调函数
completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数:

参数类型说明
errMsgstring成功:ok,错误:详细信息

示例代码:

wx.notifyBLECharacteristicValueChanged({  state: true, // 启用 notify 功能  // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取  deviceId: deviceId,  // 这里的 serviceId 需要在上面的 getBLEDeviceServices 接口中获取  serviceId: serviceId,  // 这里的 characteristicId 需要在上面的 getBLEDeviceCharacteristics 接口中获取  characteristicId: characteristicId,  success: function (res) {console.log('notifyBLECharacteristicValueChanged success', res.errMsg)  }})

wx.onBLEConnectionStateChanged(CALLBACK)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

监听低功耗蓝牙连接的错误事件,包括设备丢失,连接异常断开等等。

CALLBACK参数说明:

参数类型说明
deviceIdstring蓝牙设备 id,参考 device 对象
connectedboolean连接目前的状态

示例代码:

wx.onBLEConnectionStateChanged(function(res) {  // 该方法回调中可以用于处理连接意外断开等异常情况  console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)})

wx.onBLECharacteristicValueChange(CALLBACK)


基础库版本 1.1.0 开始支持,低版本需做兼容处理

监听低功耗蓝牙设备的特征值变化。必须先启用notify接口才能接收到设备推送的notification。

CALLBACK参数说明:

参数类型说明
deviceIdstring蓝牙设备 id,参考 device 对象
serviceIdstring特征值所属服务 uuid
characteristicIdstring特征值 uuid
valueArrayBuffer特征值最新的值(注意:vConsole 无法打印出 ArrayBuffer 类型数据)

示例代码:

wx.onBLECharacteristicValueChange(function(res) {  console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`)})

蓝牙错误码(errCode)列表

错误码说明备注
0ok正常
10000not init未初始化蓝牙适配器
10001not available当前蓝牙适配器不可用
10002no device没有找到指定设备
10003connection fail连接失败
10004no service没有找到指定服务
10005no characteristic没有找到指定特征值
10006no connection当前连接已断开
10007property not support当前特征值不支持此操作
10008system error其余所有系统上报的异常
10009system not supportAndroid 系统特有,系统版本低于 4.3 不支持BLE
10010no descriptor没有找到指定描述符

到此,关于"openBluetoothAdapter初始化蓝牙适配器的方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

蓝牙 设备 参数 接口 成功 类型 版本 特征 特征值 支持 适配器 适配 函数 信息 代码 处理 基础 状态 示例 服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网新科技 互联网科技巨头监管 互联网科技公司税收优惠 疫情对互联网科技公司影响 河南真二互联网科技有限公司 朗新科技与工业互联网 青岛互联网科技公司 狮子座互联网科技培训 上海亿帐通互联网科技 北京三清互联网科技 青岛中康互联网医疗科技有限公司 北京大学互联网科技怎么样 内蒙古九一互联网科技 互联网公司黑科技创始人 美国互联网科技公司 容联科技互联网电商 艺电能源互联网科技有限公司招聘 长沙易易互联网科技有限公司 互联网企业和网络科技有限公司 广州全民伙伴互联网科技有限公司 与互联网科技公司 互联网科技金融公司 南京欣网互联网科技 掌上梦互联网科技 居家互联网科技有限公司 互联网科技素材视频竖屏 互联网科技年终奖 容联科技互联网电商 中国主要互联网科技公司 株洲百竞科技的互联网营销顾问
0