搜索蓝牙设备 HarmonyOS 鸿蒙Next
搜索蓝牙设备 HarmonyOS 鸿蒙Next
如何像手机-设置-蓝牙中一样,搜索蓝牙设备并获取设备deviceName,使用
ble.on("BLEDeviceFind", this.onReceiveEvent);
let scanOptions: ble.ScanOptions = {
interval: 5000,
dutyMode: ble.ScanDuty.SCAN_MODE_LOW_POWER,
matchMode: ble.MatchMode.MATCH_MODE_AGGRESSIVE
}
ble.startBLEScan(null, scanOptions);
扫描到的设备和设置中的不一样,而且deviceName是空的。
更多关于搜索蓝牙设备 HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
deviceName为空可能与对端设备发送的广播包有关。
- 如果对端设备名称过长,导致广播包超过31字节,可能会导致客户端扫描到广播包后,无法解析出设备名称。
- 如果对端设备发送广播包时,就没有选择带上设备名称,也会客户端扫描到广播包后,无法解析出设备名称。
想要获取deviceName,可以在扫描到对端设备mac地址后,尝试使用connection.getRemoteDeviceName
接口查询对端设备名称。
更多关于搜索蓝牙设备 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,搜索蓝牙设备可以通过BluetoothHost
类实现。首先,获取BluetoothHost
实例,然后调用startBluetoothDiscovery()
方法开始搜索附近的蓝牙设备。设备发现后,系统会通过BluetoothDiscoverCallback
回调返回发现的设备信息。可以调用stopBluetoothDiscovery()
方法停止搜索。鸿蒙Next的蓝牙API支持低功耗蓝牙(BLE)和经典蓝牙设备。