随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 80424

wx.onBluetoothDeviceFound

wx.onBluetoothDeviceFound(function listener)

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

小程序插件:支持,需要小程序基础库版本不低于 2.9.1

微信 鸿蒙 OS 版:支持

相关文档: 蓝牙介绍

功能描述

监听搜索到新设备的事件

参数

function listener

搜索到新设备的事件的监听函数

参数

object res
属性 类型 说明
devices Array. 新搜索到的设备列表
结构属性类型说明namestring蓝牙设备名称,某些设备可能没有deviceIdstring蓝牙设备 idRSSInumber当前蓝牙设备的信号强度,单位 dBmadvertisDataArrayBuffer当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。advertisServiceUUIDsArray.当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段localNamestring当前蓝牙设备的广播数据段中的 LocalName 数据段serviceDataObject当前蓝牙设备的广播数据段中的 ServiceData 数据段connectableboolean当前蓝牙设备是否可连接( 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))
})

注意

  • 蓝牙设备在被搜索到时,系统返回的 name 字段一般为广播包中的 LocalName 字段中的设备名称,而如果与蓝牙设备建立连接,系统返回的 name 字段会改为从蓝牙设备上获取到的 GattName。若需要动态改变设备名称并展示,建议使用 localName 字段。
  • 安卓下部分机型需要有位置权限才能搜索到设备,需留意是否开启了位置权限
posted on   AtlasLapetos  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示