BluetoothCharacteristicProperties

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

BluetoothCharacteristicProperties 介面是 Web Bluetooth API 的一部分,它提供了在給定的 BluetoothRemoteGATTCharacteristic 上有效的操作。

透過呼叫 BluetoothRemoteGATTCharacteristic.properties 來返回此介面。

例項屬性

authenticatedSignedWrites 只讀 實驗性

返回一個 boolean 值,如果允許對特性值進行簽名寫入,則為 true

broadcast 只讀 實驗性

返回一個 boolean 值,如果允許使用伺服器特性配置描述符廣播特性值,則為 true

indicate 只讀 實驗性

返回一個 boolean 值,如果允許帶有確認的特性值指示,則為 true

notify 只讀 實驗性

返回一個 boolean 值,如果允許不帶確認的特性值通知,則為 true

read 只讀 實驗性

返回一個 boolean 值,如果允許讀取特性值,則為 true

reliableWrite 只讀 實驗性

返回一個 boolean 值,如果允許對特性進行可靠寫入,則為 true

writableAuxiliaries 只讀 實驗性

返回一個 boolean 值,如果允許對特性的描述符進行可靠寫入,則為 true

write 只讀 實驗性

返回一個 boolean 值,如果允許帶有響應的特性寫入,則為 true

writeWithoutResponse 只讀 實驗性

返回一個 boolean 值,如果允許不帶響應的特性寫入,則為 true

示例

以下示例展示瞭如何檢查 GATT 特性是否支援值更改通知。

js
let device = await navigator.bluetooth.requestDevice({
  filters: [{ services: ["heart_rate"] }],
});
let gatt = await device.gatt.connect();
let service = await gatt.getPrimaryService("heart_rate");
let characteristic = await service.getCharacteristic("heart_rate_measurement");
if (characteristic.properties.notify) {
  characteristic.addEventListener(
    "characteristicvaluechanged",
    async (event) => {
      console.log(`Received heart rate measurement: ${event.target.value}`);
    },
  );
  await characteristic.startNotifications();
}

規範

規範
Web 藍牙
# characteristicproperties-interface

瀏覽器相容性