chrome.bluetooth

คำอธิบาย

ใช้ chrome.bluetooth API เพื่อเชื่อมต่อกับอุปกรณ์บลูทูธ ฟังก์ชันทั้งหมดจะรายงานความล้มเหลวผ่าน chrome.runtime.lastError

ไฟล์ Manifest

คุณต้องประกาศคีย์ต่อไปนี้ในไฟล์ Manifest เพื่อใช้ API นี้

"bluetooth"

ประเภท

AdapterState

พร็อพเพอร์ตี้

  • ที่อยู่

    สตริง

    ที่อยู่ของอะแดปเตอร์ในรูปแบบ "XX:XX:XX:XX:XX:XX"

  • ที่มีอยู่

    บูลีน

    ระบุว่าอะแดปเตอร์พร้อมใช้งานหรือไม่ (เปิดใช้อยู่)

  • กำลังค้นพบ

    บูลีน

    ระบุว่าขณะนี้อะแดปเตอร์กำลังค้นพบอยู่หรือไม่

  • ชื่อ

    สตริง

    ชื่อที่มนุษย์อ่านได้ของอะแดปเตอร์

  • ขับเคลื่อน

    บูลีน

    ระบุว่าอะแดปเตอร์มีไฟเข้าหรือไม่

BluetoothFilter

Chrome 67 ขึ้นไป

พร็อพเพอร์ตี้

  • filterType

    FilterType ไม่บังคับ

    ประเภทตัวกรองที่จะใช้กับรายการอุปกรณ์ ค่าเริ่มต้นคือทั้งหมด

  • ขีดจำกัด

    ตัวเลข ไม่บังคับ

    จำนวนอุปกรณ์บลูทูธสูงสุดที่จะแสดง ค่าเริ่มต้นคือ 0 (ไม่จำกัด) หากไม่ได้ระบุ

Device

พร็อพเพอร์ตี้

  • ที่อยู่

    สตริง

    ที่อยู่ของอุปกรณ์ในรูปแบบ "XX:XX:XX:XX:XX:XX"

  • batteryPercentage

    ตัวเลข ไม่บังคับ

    Chrome 77 ขึ้นไป

    แบตเตอรี่ที่เหลือของอุปกรณ์

  • เชื่อมต่อได้

    บูลีน ไม่บังคับ

    Chrome 48 ขึ้นไป

    ระบุว่าอุปกรณ์เชื่อมต่อได้หรือไม่

  • เชื่อมต่อแล้ว

    บูลีน ไม่บังคับ

    บ่งชี้ว่าอุปกรณ์เชื่อมต่อกับระบบอยู่หรือไม่

  • กำลังเชื่อมต่อ

    บูลีน ไม่บังคับ

    Chrome 48 ขึ้นไป

    ระบุว่าอุปกรณ์กำลังเชื่อมต่อกับระบบอยู่หรือไม่

  • deviceClass

    ตัวเลข ไม่บังคับ

    คลาสของอุปกรณ์ ซึ่งเป็นฟิลด์บิตที่กําหนดโดย http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband

  • deviceId

    ตัวเลข ไม่บังคับ

  • inquiryRssi

    ตัวเลข ไม่บังคับ

    Chrome 44 ขึ้นไป

    ความแรงของสัญญาณที่ได้รับเป็น dBm ช่องนี้จะพร้อมใช้งานและใช้งานได้ในระหว่างการค้นพบเท่านั้น นอกการค้นพบ ระบบจะไม่ระบุค่า

  • inquiryTxPower

    ตัวเลข ไม่บังคับ

    Chrome 44 ขึ้นไป

    ระดับพลังงานที่ส่ง ช่องนี้ใช้ได้กับอุปกรณ์ LE ที่มีช่องนี้ใน AD เท่านั้น ฟีเจอร์นี้พร้อมใช้งานและใช้ได้ในระหว่างการค้นพบเท่านั้น

  • ชื่อ

    สตริง ไม่บังคับ

    ชื่อที่มนุษย์อ่านได้ของอุปกรณ์

  • จับคู่แล้ว

    บูลีน ไม่บังคับ

    ระบุว่าอุปกรณ์จับคู่กับระบบหรือไม่

  • productId

    ตัวเลข ไม่บังคับ

  • การขนส่ง

    การขนส่ง ไม่บังคับ

    Chrome 76 ขึ้นไป

    ประเภทการขนส่งของอุปกรณ์บลูทูธ

  • ประเภท

    DeviceType ไม่บังคับ

    ประเภทของอุปกรณ์ หาก Chrome รู้จัก ข้อมูลนี้มาจากช่อง deviceClass และแสดงถึงอุปกรณ์ประเภทต่างๆ ที่เป็นไปได้เพียงส่วนน้อยเท่านั้น หากไม่แน่ใจ คุณควรใช้ช่อง deviceClass โดยตรง

  • uuids

    string[] ไม่บังคับ

    UUID ของโปรโตคอล โปรไฟล์ และบริการที่อุปกรณ์โฆษณา สำหรับอุปกรณ์บลูทูธคลาสสิก รายการนี้จะได้รับจากข้อมูล EIR และตาราง SDP สำหรับอุปกรณ์พลังงานต่ำ ระบบจะรับรายการนี้จากบริการหลักของ AD และ GATT สำหรับอุปกรณ์แบบ 2 โหมด ข้อมูลนี้อาจมาจากทั้ง 2 แหล่ง

  • vendorId

    ตัวเลข ไม่บังคับ

  • vendorIdSource

    VendorIdSource ไม่บังคับ

    ระเบียนรหัสอุปกรณ์ของอุปกรณ์ (หากมี)

DeviceType

ประเภทอุปกรณ์ทั่วไปที่ Chrome รู้จัก

ค่าแจกแจง

"computer"

"phone"

"modem"

"audio"

"carAudio"

"video"

"peripheral"

"joystick"

"gamepad"

"keyboard"

"mouse"

"tablet"

"keyboardMouseCombo"

FilterType

Chrome 67 ขึ้นไป

ประเภทสําหรับการกรองอุปกรณ์บลูทูธ

ค่าแจกแจง

"all"

"known"

Transport

Chrome 76 ขึ้นไป

ประเภทการขนส่งของอุปกรณ์บลูทูธ

ค่าแจกแจง

"invalid"

"classic"

"le"

"dual"

VendorIdSource

สิทธิ์การจัดสรรสําหรับรหัสผู้ให้บริการ

ค่าแจกแจง

"bluetooth"

"usb"

เมธอด

getAdapterState()

สัญญา
chrome.bluetooth.getAdapterState(
  callback?: function,
)

ดูข้อมูลเกี่ยวกับอะแดปเตอร์บลูทูธ

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (adapterInfo: AdapterState) => void

    • adapterInfo

      ออบเจ็กต์ที่มีข้อมูลอะแดปเตอร์

การคืนสินค้า

  • Promise<AdapterState>

    Chrome 91 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getDevice()

สัญญา
chrome.bluetooth.getDevice(
  deviceAddress: string,
  callback?: function,
)

รับข้อมูลเกี่ยวกับอุปกรณ์บลูทูธที่ระบบรู้จัก

พารามิเตอร์

  • deviceAddress

    สตริง

    ที่อยู่ของอุปกรณ์ที่จะรับ

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (deviceInfo: Device) => void

    • ออบเจ็กต์ที่มีข้อมูลอุปกรณ์

การคืนสินค้า

  • Promise<Device>

    Chrome 91 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getDevices()

สัญญา
chrome.bluetooth.getDevices(
  filter?: BluetoothFilter,
  callback?: function,
)

ดูรายการอุปกรณ์บลูทูธที่ระบบรู้จัก ซึ่งรวมถึงอุปกรณ์ที่จับคู่ไว้และอุปกรณ์ที่เพิ่งค้นพบ

พารามิเตอร์

  • ตัวกรอง

    BluetoothFilter ไม่บังคับ

    Chrome 67 ขึ้นไป

    เกณฑ์บางอย่างในการกรองรายการอุปกรณ์บลูทูธที่แสดง หากไม่ได้ตั้งค่าตัวกรองหรือตั้งค่าเป็น {} รายการอุปกรณ์ที่แสดงจะมีอุปกรณ์บลูทูธทั้งหมด ปัจจุบันฟีเจอร์นี้ใช้ได้เฉพาะใน ChromeOS สำหรับแพลตฟอร์มอื่นๆ ระบบจะแสดงรายการทั้งหมด

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (deviceInfos: Device[]) => void

    • deviceInfos

      อาร์เรย์ของออบเจ็กต์ที่มีข้อมูลอุปกรณ์

การคืนสินค้า

  • Promise<Device[]>

    Chrome 91 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

startDiscovery()

สัญญา
chrome.bluetooth.startDiscovery(
  callback?: function,
)

เริ่มการค้นพบ ระบบจะแสดงอุปกรณ์ที่ค้นพบใหม่ผ่านเหตุการณ์ onDeviceAdded อุปกรณ์ที่ค้นพบก่อนหน้านี้ซึ่งอะแดปเตอร์ทราบอยู่แล้วต้องรับโดยใช้ getDevices และจะอัปเดตโดยใช้เหตุการณ์ onDeviceChanged เฉพาะในกรณีที่ข้อมูลเกี่ยวกับอุปกรณ์มีการเปลี่ยนแปลงเท่านั้น

การค้นพบจะเริ่มต้นไม่สําเร็จหากแอปพลิเคชันนี้เรียก startDiscovery ไปแล้ว การค้นพบอาจใช้ทรัพยากรมาก: คุณควรเรียกใช้ stopDiscovery โดยเร็วที่สุด

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 91 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

stopDiscovery()

สัญญา
chrome.bluetooth.stopDiscovery(
  callback?: function,
)

หยุดการค้นพบ

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 91 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

กิจกรรม

onAdapterStateChanged

chrome.bluetooth.onAdapterStateChanged.addListener(
  callback: function,
)

เรียกใช้เมื่อสถานะของอะแดปเตอร์บลูทูธเปลี่ยนแปลง

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (state: AdapterState) => void

onDeviceAdded

chrome.bluetooth.onDeviceAdded.addListener(
  callback: function,
)

เริ่มทํางานเมื่อมีข้อมูลเกี่ยวกับอุปกรณ์บลูทูธใหม่

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (device: Device) => void

onDeviceChanged

chrome.bluetooth.onDeviceChanged.addListener(
  callback: function,
)

เรียกใช้เมื่อมีการเปลี่ยนแปลงข้อมูลเกี่ยวกับอุปกรณ์บลูทูธที่รู้จัก

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (device: Device) => void

onDeviceRemoved

chrome.bluetooth.onDeviceRemoved.addListener(
  callback: function,
)

ทำงานเมื่ออุปกรณ์บลูทูธที่ค้นพบก่อนหน้านี้อยู่นอกระยะสัญญาณนานพอที่จะถือว่าไม่พร้อมใช้งานอีก และเมื่อมีการนำอุปกรณ์ที่จับคู่ออก

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (device: Device) => void