私はWeb-bluetooth APIの初心者です。私はAndroidのBluetoothデバイスのIDまたはMACアドレスを取得したいと考えています... あるいは、APIを使用して各デバイスを識別する何らかの方法です。 は、実際に私はあなたが2つの類似の装置を離れて伝えるためにBluetoothDevice.id
attributeを使用することができ、このAndroidのBluetoothデバイスのIDまたはMACアドレスを取得するにはどうすればよいですか?
// navigator.bluetooth.requestDevice({filters: [{services: ['battery_service']}]})
navigator.bluetooth.requestDevice({acceptAllDevices: true, optionalServices: ['device_information']})
.then(device => device.gatt.connect())
.then(server => {
// Getting device information
return server.getPrimaryService('device_information');
})
.then(service => {
// Getting serialNumber
return service.getCharacteristic('serial_number_string');
})
.then(characteristic => {
// Reading serialNumber
return characteristic.readValue();
})
.then(value => {
console.log('Serial Number is ' + value.getUint8(0));
})
.catch(error => {
console.log(error);
});
あなたの答えをありがとう、私はプロジェクトのMACアドレスを取得する必要があります。どのようにそれを知っていますか?そのようなもの [chrome:// bluetooth-internals /#devices] –
Web Bluetoothは意図的にMACをブロックします。理由については、この回答にリンクされている仕様のセキュリティとプライバシーの考慮事項を参照してください。 –
iOSがMACアドレスの読み取りを妨げるように、MACアドレスを公開するカスタムBLE特性を含むBLEデバイスをいくつか見てきました。 例:https://github.com/beaufortfrancois/sandbox/blob/0eeeafd507dc93d2b0f9a2f2fb2a33eedf41589a/web-bluetooth/sense-peanut/sense-peanut.js#L64-L78 –