chrome.bluetoothLowEnergy

說明

chrome.bluetoothLowEnergy API 可用於透過通用屬性設定檔 (GATT) 與 Bluetooth Smart (低功耗) 裝置通訊。

資訊清單

如要使用此 API,您必須在資訊清單中宣告下列鍵

"bluetooth"

類型

Advertisement

Chrome 47 以上版本

屬性

  • manufacturerData

    製造商專屬資料清單,這些資料會納入廣告資料的「製造商專屬資料」欄位。

  • serviceData

    ServiceData[] 選填

    要在廣告資料的「服務資料」欄位中納入的服務資料清單。

  • serviceUuids

    string[] 選填

    要在廣告資料的「服務 UUID」欄位中加入的 UUID 清單。這些 UUID 可為 16 位元、32 位元或 128 位元格式。

  • solicitUuids

    string[] 選填

    要在廣告資料的「索取 UUID」欄位中加入的 UUID 清單。這些 UUID 可為 16 位元、32 位元或 128 位元格式。

  • 廣告類型。

AdvertisementType

Chrome 47 以上版本

廣告類型。如果選擇「廣播」,系統會傳送 ADV_NONCONN_IND 廣告類型,裝置也會使用隨機 MAC 位址進行廣播。如果設為「peripheral」,廣告類型會是 ADV_IND 或 ADV_SCAN_IND,且裝置會使用實際的藍牙適配器 MAC 位址進行廣播。

列舉

"broadcast"

"peripheral"

Characteristic

屬性

  • instanceId

    string 選填

    傳回指派給此特徵的 ID。使用例項 ID 可區分具有相同 UUID 的週邊裝置特徵,並執行函式呼叫,以便擷取特徵 ID。如果此例項代表遠端特徵,則為存在。

  • 這個屬性的屬性。

  • 服務

    Service 選填

    此特性所屬的 GATT 服務。

  • uuid

    字串

    特性的 UUID,例如 00002a37-0000-1000-8000-00805f9b34fb。

  • ArrayBuffer 選填

    目前快取的特徵值。當透過通知或指示讀取或更新特徵值時,這個值就會更新。

CharacteristicProperty

代表特性可能屬性的值。系統會根據這些屬性推斷出特徵權限。請參閱藍牙 4.x 規格,瞭解各個屬性的含義。

列舉

"broadcast"

「read」

"writeWithoutResponse"

「write」

"notify"

「indicate」

"authenticatedSignedWrites"

"extendedProperties"

"reliableWrite"

"writableAuxiliaries"

"encryptRead"

"encryptWrite"

"encryptAuthenticatedRead"

"encryptAuthenticatedWrite"

ConnectProperties

屬性

  • 永久

    布林值

    標記,指出在卸載應用程式的事件頁面時,是否會保留與裝置的連線 (請參閱「管理應用程式生命週期」)。預設值為 false.

Descriptor

屬性

  • 特徵

    特性 選填

    此描述元屬於的 GATT 屬性。

  • instanceId

    string 選填

    傳回指派給此描述元的 ID。使用例項 ID 可區分具有相同 UUID 的周邊裝置描述符,並發出可接收描述符 ID 的函式呼叫。如果此例項代表遠端特徵,則為存在。

  • Chrome 52 以上版本

    這個描述元的權限。

  • uuid

    字串

    特徵描述元 UUID,例如 00002902-0000-1000-8000-00805f9b34fb。

  • ArrayBuffer 選填

    目前快取的描述元值。讀取描述符的值時,系統會更新這個值。

DescriptorPermission

Chrome 52 以上版本

代表描述元可能的權限的值。請參閱 Bluetooth 4.x 規格,瞭解各個權限的意義。

列舉

「read」

「write」

"encryptedRead"

"encryptedWrite"

"encryptedAuthenticatedRead"

"encryptedAuthenticatedWrite"

Device

Chrome 52 以上版本

屬性

  • 地址

    字串

    裝置的地址,格式為「XX:XX:XX:XX:XX:XX」。

  • deviceClass

    號碼 選填

    裝置類別,由 http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband 定義的位元欄位。

  • 名稱

    string 選填

    使用者可讀的裝置名稱。

ManufacturerData

Chrome 47 以上版本

屬性

  • 資料

    number[]

  • id

    數字

Notification

Chrome 52 以上版本

屬性

  • shouldIndicate

    boolean 選填

    選用旗標,用於傳送指示 (而非通知)。

  • ArrayBuffer

    特性的新值。

NotificationProperties

屬性

  • 永久

    布林值

    標記,指出應用程式在應用程式事件頁面卸載時,應否接收通知 (請參閱「管理應用程式生命週期」)。預設值為 false

Request

Chrome 52 以上版本

屬性

  • 裝置

    傳送這項要求的裝置。

  • requestId

    數字

    此要求的專屬 ID。回覆這項要求時,請使用這個 ID。

  • ArrayBuffer 選填

    要寫入的值 (如果這是寫入要求)。

Response

Chrome 52 以上版本

屬性

  • isError

    布林值

    如果這是錯誤回應,則應為 true。

  • requestId

    數字

    這項要求的回應 ID。

  • ArrayBuffer 選填

    回應值。寫入要求和錯誤回應會忽略這個參數。

Service

屬性

  • deviceAddress

    string 選填

    GATT 服務所屬遠端周邊裝置的裝置位址。如果這個例項代表遠端服務,則會出現。

  • instanceId

    string 選填

    傳回指派給此服務的 ID。使用執行個體 ID 可區分使用相同 UUID 的周邊裝置服務,並發出可接收服務 ID 的函式呼叫。如果這個例項代表遠端服務,則會出現。

  • isPrimary

    布林值

    指出這項服務的類型是主要或次要。

  • uuid

    字串

    服務的 UUID,例如 0000180d-0000-1000-8000-00805f9b34fb。

ServiceData

Chrome 47 以上版本

屬性

  • 資料

    number[]

  • uuid

    字串

方法

connect()

Promise
chrome.bluetoothLowEnergy.connect(
  deviceAddress: string,
  properties?: ConnectProperties,
  callback?: function,
)

在應用程式和指定位址的裝置之間建立連線。裝置可能已連線,且其 GATT 服務可供使用,而無需呼叫 connect。不過,如果應用程式想要存取裝置的 GATT 服務,則應呼叫此函式,確保與裝置的連線維持不變。如果裝置未連線,系統會在成功呼叫 connect 後,探索裝置的所有 GATT 服務。

參數

  • deviceAddress

    字串

    應開啟 GATT 連線的遠端裝置藍牙位址。

  • 資源

    連線屬性 (選用)。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

createCharacteristic()

Promise Chrome 52 以上版本
chrome.bluetoothLowEnergy.createCharacteristic(
  characteristic: Characteristic,
  serviceId: string,
  callback?: function,
)

建立本機代管的 GATT 特性。此特徵必須由有效服務代管。如果服務 ID 無效,系統會設定 lastError。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • 特徵

    要建立的特徵。

  • serviceId

    字串

    要為其建立此特徵的服務 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (characteristicId: string) => void

    • characteristicId

      字串

傳回

  • Promise<string>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

createDescriptor()

Promise Chrome 52 以上版本
chrome.bluetoothLowEnergy.createDescriptor(
  descriptor: Descriptor,
  characteristicId: string,
  callback?: function,
)

建立本機代管的 GATT 描述元標記。此描述符必須位於有效特徵下。如果特徵 ID 無效,系統會設定 lastError。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • 描述元

    要建立的描述元。

  • characteristicId

    字串

    要為其建立此描述元資料的特徵 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (descriptorId: string) => void

    • descriptorId

      字串

傳回

  • Promise<string>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

createService()

Promise Chrome 52 以上版本
chrome.bluetoothLowEnergy.createService(
  service: Service,
  callback?: function,
)

建立本機代管的 GATT 服務。這項服務可註冊至當地 GATT 伺服器。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • 服務

    要建立的服務。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (serviceId: string) => void

    • serviceId

      字串

傳回

  • Promise<string>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

disconnect()

Promise
chrome.bluetoothLowEnergy.disconnect(
  deviceAddress: string,
  callback?: function,
)

關閉應用程式與指定位址裝置的連線。請注意,這麼做不一定會破壞實體連結,因為可能還有其他應用程式有開放的連線。

參數

  • deviceAddress

    字串

    遠端裝置的藍牙位址。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

getCharacteristic()

Promise
chrome.bluetoothLowEnergy.getCharacteristic(
  characteristicId: string,
  callback?: function,
)

取得 GATT 屬性,該屬性屬於特定 GATT 服務 (如果屬性存在的話),且具有特定例項 ID。

參數

  • characteristicId

    字串

    所要求 GATT 特性的例項 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Characteristic) => void

傳回

  • Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

getCharacteristics()

Promise
chrome.bluetoothLowEnergy.getCharacteristics(
  serviceId: string,
  callback?: function,
)

取得屬於指定服務的所有已偵測到的 GATT 特性清單。

參數

  • serviceId

    字串

    應傳回特性的 GATT 服務例項 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Characteristic[]) => void

傳回

  • Promise<Characteristic[]>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

getDescriptor()

Promise
chrome.bluetoothLowEnergy.getDescriptor(
  descriptorId: string,
  callback?: function,
)

使用指定的例項 ID 取得 GATT 特性描述元。

參數

  • descriptorId

    字串

    所要求 GATT 特性描述元件的例 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Descriptor) => void

傳回

  • Promise<Descriptor>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

getDescriptors()

Promise
chrome.bluetoothLowEnergy.getDescriptors(
  characteristicId: string,
  callback?: function,
)

取得屬於指定特性的 GATT 特性描述元資料清單。

參數

  • characteristicId

    字串

    應傳回描述符的 GATT 特性例項 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Descriptor[]) => void

傳回

  • Promise<Descriptor[]>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

getIncludedServices()

Promise
chrome.bluetoothLowEnergy.getIncludedServices(
  serviceId: string,
  callback?: function,
)

取得指定服務所包含的 GATT 服務清單。

參數

  • serviceId

    字串

    GATT 服務的執行個體 ID,應傳回內含的服務。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Service[]) => void

傳回

  • Promise<Service[]>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

getService()

Promise
chrome.bluetoothLowEnergy.getService(
  serviceId: string,
  callback?: function,
)

使用指定的例項 ID 取得 GATT 服務。

參數

  • serviceId

    字串

    所要求 GATT 服務的例項 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Service) => void

傳回

  • Promise<Service>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

getServices()

Promise
chrome.bluetoothLowEnergy.getServices(
  deviceAddress: string,
  callback?: function,
)

取得遠端裝置上已發現的所有 GATT 服務,並提供裝置位址。

注意:如果裝置上尚未完成服務探索,這個 API 會傳回服務的子集 (可能為空白)。解決方法是新增時間延遲和/或重複呼叫,直到傳回預期的服務數量為止。

參數

  • deviceAddress

    字串

    應傳回 GATT 服務的遠端裝置藍牙位址。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Service[]) => void

傳回

  • Promise<Service[]>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

notifyCharacteristicValueChanged()

Promise Chrome 52 以上版本
chrome.bluetoothLowEnergy.notifyCharacteristicValueChanged(
  characteristicId: string,
  notification: Notification,
  callback?: function,
)

通知遠端裝置特徵的新值。如果通知物件中的 shouldIndicate 標記為 true,系統會傳送指示,而非通知。請注意,您必須在建立時正確設定「通知」或「指示」屬性,才能成功執行此呼叫。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • characteristicId

    字串

    要傳送通知的特性。

  • 通知
  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

readCharacteristicValue()

Promise
chrome.bluetoothLowEnergy.readCharacteristicValue(
  characteristicId: string,
  callback?: function,
)

從遠端外接裝置擷取指定特徵的值。

參數

  • characteristicId

    字串

    GATT 屬性的例項 ID,其值應從遠端裝置讀取。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Characteristic) => void

傳回

  • Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

readDescriptorValue()

Promise
chrome.bluetoothLowEnergy.readDescriptorValue(
  descriptorId: string,
  callback?: function,
)

從遠端外接裝置擷取指定特徵描述元的值。

參數

  • descriptorId

    字串

    GATT 特性描述元例項 ID,其值應從遠端裝置讀取。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (result: Descriptor) => void

傳回

  • Promise<Descriptor>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

registerAdvertisement()

Promise Chrome 47 以上版本
chrome.bluetoothLowEnergy.registerAdvertisement(
  advertisement: Advertisement,
  callback?: function,
)

建立廣告並註冊廣告。如要呼叫這個函式,應用程式必須將 bluetooth:low_energy 和 bluetooth:peripheral 權限設為 true。此外,這個 API 僅適用於在資訊站模式下自動啟動的應用程式,或是設定「--enable-ble-advertising-in-apps」指令列切換鈕的應用程式。請參閱 https://developer.chrome.com/apps/manifest/bluetooth。注意:在某些硬體上,系統同時支援中心和周邊模式,但在不支援這項功能的硬體上,發出這項呼叫會將裝置切換為周邊模式。如果硬體不支援中心和周邊模式,嘗試在兩種模式下使用裝置,將導致未定義的行為,或導致其他中心角色應用程式無法正確運作 (包括發現藍牙低功耗裝置)。

參數

  • 廣告

    要宣傳的廣告。

  • 回呼

    函式 選填

    callback 參數如下所示:

    (advertisementId: number) => void

    • advertisementId

      數字

傳回

  • Promise<number>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

registerService()

Promise Chrome 52 以上版本
chrome.bluetoothLowEnergy.registerService(
  serviceId: string,
  callback?: function,
)

將指定的服務註冊至本機 GATT 伺服器。如果服務 ID 無效,系統會設定 lastError。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • serviceId

    字串

    已建立服務的專屬 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

removeService()

Promise Chrome 52 以上版本
chrome.bluetoothLowEnergy.removeService(
  serviceId: string,
  callback?: function,
)

移除指定的服務,並取消註冊 (如果已註冊)。如果服務 ID 無效,系統會設定 lastError。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • serviceId

    字串

    目前已註冊服務的專屬 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

resetAdvertising()

Promise Chrome 61 以上版本
chrome.bluetoothLowEnergy.resetAdvertising(
  callback?: function,
)

重設目前裝置上的廣告。並取消註冊及停止所有現有廣告。

參數

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

sendRequestResponse()

Chrome 52 以上版本
chrome.bluetoothLowEnergy.sendRequestResponse(
  response: Response,
)

傳送特徵或描述符讀取/寫入要求的回應。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • 回應

    要求的回應。

setAdvertisingInterval()

Promise Chrome 55 以上版本
chrome.bluetoothLowEnergy.setAdvertisingInterval(
  minInterval: number,
  maxInterval: number,
  callback?: function,
)

設定兩則連續廣告之間的間隔時間。注意:我們會盡力提供最佳服務。實際間隔可能與要求的間隔有明顯差異。在某些硬體上,最短間隔為 100 毫秒。最小值和最大值不得超過 Bluetooth 4.2 規格所允許的範圍。

參數

  • minInterval

    數字

    廣告間的最小間隔 (以毫秒為單位)。這項值不得低於 20 毫秒 (依規格說明)。

  • maxInterval

    數字

    廣告間隔上限 (以毫秒為單位)。這項值不得超過 10240 毫秒 (依規格說明)。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

startCharacteristicNotifications()

Promise
chrome.bluetoothLowEnergy.startCharacteristicNotifications(
  characteristicId: string,
  properties?: NotificationProperties,
  callback?: function,
)

啟用指定特徵的值通知/指示。啟用後,應用程式就能使用 onCharacteristicValueChanged 事件監聽通知。

參數

  • characteristicId

    字串

    應啟用通知的 GATT 特性例項 ID。

  • 資源

    通知工作階段屬性 (選用)。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

stopCharacteristicNotifications()

Promise
chrome.bluetoothLowEnergy.stopCharacteristicNotifications(
  characteristicId: string,
  callback?: function,
)

停用指定屬性的值通知/指示。呼叫成功後,應用程式就會停止接收此特性的通知/指示。

參數

  • characteristicId

    字串

    應停止此應用程式通知工作階段的 GATT 屬性例項 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

unregisterAdvertisement()

Promise Chrome 47 以上版本
chrome.bluetoothLowEnergy.unregisterAdvertisement(
  advertisementId: number,
  callback?: function,
)

取消註冊廣告並停止放送。如果廣告註銷失敗,要停止廣告的唯一方法可能就是重新啟動裝置。

參數

  • advertisementId

    數字

    要取消註冊的廣告 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

unregisterService()

Promise Chrome 52 以上版本
chrome.bluetoothLowEnergy.unregisterService(
  serviceId: string,
  callback?: function,
)

請透過本機 GATT 伺服器取消註冊指定服務。如果服務 ID 無效,系統會設定 lastError。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「是」時,才能使用這個函式。部分應用程式可能無法使用周邊裝置權限。

參數

  • serviceId

    字串

    目前已註冊服務的專屬 ID。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

writeCharacteristicValue()

Promise
chrome.bluetoothLowEnergy.writeCharacteristicValue(
  characteristicId: string,
  value: ArrayBuffer,
  callback?: function,
)

寫入遠端外接裝置的指定特徵值。

參數

  • characteristicId

    字串

    GATT 屬性的例項 ID,該值應寫入。

  • ArrayBuffer

    應傳送至遠端特徵值的值,做為寫入要求的一部分。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

writeDescriptorValue()

Promise
chrome.bluetoothLowEnergy.writeDescriptorValue(
  descriptorId: string,
  value: ArrayBuffer,
  callback?: function,
)

從遠端外接裝置寫入指定特徵描述元的值。

參數

  • descriptorId

    字串

    GATT 特性描述元件的例項 ID,該值應寫入。

  • ArrayBuffer

    應傳送至遠端描述元,做為寫入要求一部分的值。

  • 回呼

    函式 選填

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Chrome 91 以上版本

    承諾僅支援資訊清單 V3 以上版本,其他平台則需要使用回呼。

活動

onCharacteristicReadRequest

Chrome 52 以上版本
chrome.bluetoothLowEnergy.onCharacteristicReadRequest.addListener(
  callback: function,
)

當已連線的中央裝置要求讀取在本機 GATT 伺服器上註冊的特性值時觸發。如果長時間未回應這項要求,可能會導致連線中斷。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限都設為「true」時,才能使用此事件。部分應用程式可能無法使用周邊裝置權限。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (request: Request, characteristicId: string) => void

    • 申請。
    • characteristicId

      字串

onCharacteristicValueChanged

chrome.bluetoothLowEnergy.onCharacteristicValueChanged.addListener(
  callback: function,
)

當遠端 GATT 屬性的值變更時觸發,可能是讀取要求的結果,也可能是值變更通知/指示。只有在應用程式透過呼叫 startCharacteristicNotifications 啟用通知時,才會傳送這項事件。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (characteristic: Characteristic) => void

onCharacteristicWriteRequest

Chrome 52 以上版本
chrome.bluetoothLowEnergy.onCharacteristicWriteRequest.addListener(
  callback: function,
)

當已連線的中央裝置要求將已在本機 GATT 伺服器上註冊的特性值寫入時觸發。如果長時間未回應這項要求,可能會導致連線中斷。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限設為「true」時,才能使用此事件。部分應用程式可能無法使用周邊裝置權限。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (request: Request, characteristicId: string) => void

    • 申請。
    • characteristicId

      字串

onDescriptorReadRequest

Chrome 52 以上版本
chrome.bluetoothLowEnergy.onDescriptorReadRequest.addListener(
  callback: function,
)

當已連線的中央裝置要求讀取在本機 GATT 伺服器上註冊的描述元值時觸發。如果長時間未回應這項要求,可能會導致連線中斷。只有在應用程式同時將 bluetooth:low_energy 和 bluetooth:peripheral 權限設為「true」時,才能使用此事件。部分應用程式可能無法使用周邊裝置權限。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (request: Request, descriptorId: string) => void

    • 申請。
    • descriptorId

      字串

onDescriptorValueChanged

chrome.bluetoothLowEnergy.onDescriptorValueChanged.addListener(
  callback: function,
)

當遠端 GATT 特性描述元值變更時觸發,通常是因為讀取要求而觸發。這個事件主要用於提供便利性,且一經成功呼叫 readDescriptorValue 就會傳送。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (descriptor: Descriptor) => void

onDescriptorWriteRequest

Chrome 52 以上版本
chrome.bluetoothLowEnergy.onDescriptorWriteRequest.addListener(
  callback: function,
)

當已連線的中央裝置要求將在本機 GATT 伺服器上註冊的描述元值寫入時觸發。如果長時間未回應這項要求,可能會導致連線中斷。只有在應用程式將 bluetooth:low_energy 和 bluetooth:peripheral 權限設為「true」時,才能使用此事件。部分應用程式可能無法使用周邊裝置權限。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (request: Request, descriptorId: string) => void

    • 申請。
    • descriptorId

      字串

onServiceAdded

chrome.bluetoothLowEnergy.onServiceAdded.addListener(
  callback: function,
)

在遠端裝置上發現新的 GATT 服務時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (service: Service) => void

onServiceChanged

chrome.bluetoothLowEnergy.onServiceChanged.addListener(
  callback: function,
)

在遠端 GATT 服務狀態變更時觸發。這包括從服務中新增或移除的任何特徵和/或描述符,以及遠端裝置的「ServiceChanged」通知。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (service: Service) => void

onServiceRemoved

chrome.bluetoothLowEnergy.onServiceRemoved.addListener(
  callback: function,
)

當先前在遠端裝置上發現的 GATT 服務已移除時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (service: Service) => void