Не могу найти 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>
но это вызывает ошибку, как это.
Кроме того, я проверил объект, и у него есть только метод requestDevice()
1 ответ
Согласно странице состояния реализации WebBluetooth, Chrome не реализован requestLEScan
до сих пор. В зависимости от вашего устройства, вы можете использовать обычные requestDevice
вместо.