HarmonyOS 蓝牙扫描经常回调一样的设备?

如图,基础上是这样连续回调一样的设备

代码和打印如图

let scanFilter: ble.ScanFilter = {}
let scanOptions: ble.ScanOptions = {
  interval: 0,
  dutyMode: ble.ScanDuty.SCAN_MODE_LOW_POWER,
  matchMode: ble.MatchMode.MATCH_MODE_AGGRESSIVE
}
// 接收扫描结果
ble.on('BLEDeviceFind', (data) => {
  if (data.length > 0) {
    for (let index = 0; index < data.length; index++) {
      if (data[index].deviceName) {
        LogUtils.info("BleUtil扫到"+data[index].deviceName)
        BleUtil.bleScanInterface?.onScanning(data[index])
      }
    }
  }
});

阅读 538
1 个回答

ble.on(“BLEDeviceFind”, callback),这个回调里并非是发现的设备都添加到这个数组里,而是每次发现设备都会上报一次,interval表示上报延迟,单位为毫秒,设置为500,表示0.5秒后扫描到的结果才上报出来,设置为0的话,扫描到设备,监听回调里就会立即上报,要加过滤条件匹配到对端设备

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