uni.openBluetoothAdapter({
success(res) {
uni.startBluetoothDevicesDiscovery({
success(res) {
uni.onBluetoothDeviceFound(function(res){
console.log('device:' + JSON.stringify(res.devices))
})
},
fail(res) {
console.log("faile res=", res)
}
})
}
})
- 发布:2020-10-26 12:41
- 更新:2021-12-27 18:54
- 阅读:2804
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 2.9.3
手机系统: Android
手机系统版本号: Android 8.1
手机厂商: vivo
手机机型: y81s
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用uni.startBluetoothDevicesDiscovery搜索蓝牙设备,在uni.onBluetoothDeviceFound里打印出蓝牙设备信息,设备信息里ManufacturerData 数据段总是为空。
使用uni.startBluetoothDevicesDiscovery搜索蓝牙设备,在uni.onBluetoothDeviceFound里打印出蓝牙设备信息,设备信息里ManufacturerData 数据段总是为空。
预期结果:
根据onBluetoothDeviceFound API介绍,期待设备信息包含ManufacturerData 信息。
devices 的结构
advertisData ArrayBuffer 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。
根据onBluetoothDeviceFound API介绍,期待设备信息包含ManufacturerData 信息。
devices 的结构
advertisData ArrayBuffer 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。
实际结果:
如附件中的两个图,wireshark抓到的报文里有manufacturer字段,hxbuilder log却显示advertisData字段为空。
如附件中的两个图,wireshark抓到的报文里有manufacturer字段,hxbuilder log却显示advertisData字段为空。
bug描述:
uni.onBluetoothDeviceFound不能返回ManufacturerData 数据段。
迪格立之 (作者)
uni.startBeaconDiscovery({
uuids: ["01122334-4556-6778-899a-abbccddeeff0"],
success(res) {
console.log("startBeaconDiscovery=", JSON.stringify(res))
uni.onBeaconUpdate((beacons) => {
console.log("onBeaconUpdate=", JSON.stringify(beacons))
})
},
fail(res) {
console.log("in startBeaconDiscovery, faile res=", JSON.stringify(res))
}
})
ibeacon discovery是可以检索到这个设备的。