HarmonyOS 使用ble扫描蓝牙设备,发现airpods无法被扫描到,但是系统蓝牙界面是可以搜索到?

代码如下

let scanOptions: ble.ScanOptions = {
  interval: 500,
  dutyMode: ble.ScanDuty.SCAN_MODE_LOW_POWER,
  matchMode: ble.MatchMode.MATCH_MODE_AGGRESSIVE
}
ble.startBLEScan(null, scanOptions);

ble.on('BLEDeviceFind', (data) => {
  // 这里扫描不到 airpod(苹果耳机) 设备
})
阅读 600
1 个回答

1.根据提供的示例,并未设置startBLEScan扫描中的过滤条件,附近的扫描到的设备广播会在BLEDeviceFind的订阅中出现,可以通过console.info('BLE scan device find result = '+ JSON.stringify(data)); 打印出来。

2.ble扫描到的设备地址是随机mac地址,本地验证可以在BLEDeviceFind订阅中拿到的地址里,找到AirPods的广播。

3.建议在startBLEScan扫描中添加过滤条件,帮助快速找到该设备。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进