chrome.bluetooth

คำอธิบาย

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

ไฟล์ Manifest

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

"bluetooth"

ประเภท

AdapterState

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

  • จัดการ

    string

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

  • ที่มีอยู่

    boolean

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

  • ค้นพบเพลงใหม่

    boolean

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

  • ชื่อ

    string

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

  • ขับเคลื่อน

    boolean

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

BluetoothFilter

Chrome เวอร์ชัน 67 ขึ้นไป

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

  • filterType

    FilterType ไม่บังคับ

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

  • ขีดจำกัด

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

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

Device

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

  • จัดการ

    string

    ที่อยู่ของอุปกรณ์ในรูปแบบ "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 ข้อมูลดังกล่าวพร้อมใช้งานและใช้ได้เฉพาะในระหว่างการค้นพบเท่านั้น

  • ชื่อ

    string ไม่บังคับ

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

  • จับคู่แล้ว

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

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

  • productId

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

  • การขนส่ง

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

    Chrome เวอร์ชัน 76 ขึ้นไป

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

  • ประเภท

    DeviceType ไม่บังคับ

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

  • Uuids

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

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

  • vendorId

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

  • vendorIdSource

    VendorIdSource ไม่บังคับ

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

DeviceType

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

ค่าแจกแจง

"modem"

"carAudio"

"keyboardMouseCombo"

FilterType

Chrome เวอร์ชัน 67 ขึ้นไป

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

ค่าแจกแจง

Transport

Chrome เวอร์ชัน 76 ขึ้นไป

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

ค่าแจกแจง

VendorIdSource

หน่วยงานการจัดสรรสำหรับรหัสผู้ให้บริการ

ค่าแจกแจง

"usb"

วิธีการ

getAdapterState()

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

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

พารามิเตอร์

  • Callback

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

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

    (adapterInfo: AdapterState)=>void

    • adapterInfo

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

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

  • Promise<AdapterState>

    Chrome 91 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getDevice()

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

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

พารามิเตอร์

  • deviceAddress

    string

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

  • Callback

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

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

    (deviceInfo: Device)=>void

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

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

  • สัญญา<Device>

    Chrome 91 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getDevices()

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

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

พารามิเตอร์

  • ฟิลเตอร์

    BluetoothFilter ไม่บังคับ

    Chrome เวอร์ชัน 67 ขึ้นไป

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

  • Callback

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

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

    (deviceInfos: Device[])=>void

    • deviceInfos

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

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

  • สัญญา<Device[]>

    Chrome 91 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

startDiscovery()

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

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

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

พารามิเตอร์

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 91 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

stopDiscovery()

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

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

พารามิเตอร์

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 91 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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