Не могу найти requestLEScan() метод webbluetooth

Я хочу использовать метод requestLEScan для сканирования периферийных устройств, но не могу найти метод requestLEScan. Я написал ниже, следуя этому документу

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title></title>
</head>

<body>
<button id="test" onclick="onButtonClick()">test</button>

<script>
function onButtonClick() {
  navigator.bluetooth.requestLEScan({
    filters: [{manufacturerData: {0x004C: {dataPrefix: new Uint8Array([
      0x02, 0x15, // iBeacon identifier.
      0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15  // My beacon UUID.
    ])}}}],
    options: {
      keepRepeatedDevices: true,
    }
  }).then(() => {
    navigator.bluetooth.addEventListener('advertisementreceived', event => {
    let appleData = event.manufacturerData.get(0x004C);
  if (appleData.byteLength != 23) {
    // Isn’t an iBeacon.
    return;
  }
  let major = appleData.getUint16(18, false);
  let minor = appleData.getUint16(20, false);
  let txPowerAt1m = -appleData.getInt8(22);
  let pathLossVs1m = txPowerAt1m - event.rssi;

    });
  })
}

</script>
</body>
</html>

но это вызывает ошибку, как это.

index_html_ _index_html _-_ web_bluetooth _-____ play_ground_web_bluetooth_

Кроме того, я проверил объект, и у него есть только метод requestDevice()

index_html

1 ответ

Согласно странице состояния реализации WebBluetooth, Chrome не реализован requestLEScan до сих пор. В зависимости от вашего устройства, вы можете использовать обычные requestDevice вместо.

Другие вопросы по тегам