chrome.bluetooth

คำอธิบาย

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

ไฟล์ Manifest

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

"bluetooth"

ประเภท

AdapterState

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

  • ที่อยู่

    สตริง

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

  • ที่มีอยู่

    boolean

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

  • กำลังค้นพบ

    boolean

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

  • ชื่อ

    สตริง

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

  • ขับเคลื่อนโดย

    boolean

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

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/th-th/specification/assigned-numbers/base Band

  • 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 โหมด คำสั่งนี้อาจใช้ได้ทั้ง 2 อย่าง

  • vendorId

    หมายเลข ไม่บังคับ

  • vendorIdSource

    VendorIdSource ไม่บังคับ

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

DeviceType

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

ค่าแจกแจง

"คอมพิวเตอร์"

"โทรศัพท์"

"modem"

"เสียง"

"carAudio"

"วิดีโอ"

"อุปกรณ์ต่อพ่วง"

"จอยสติ๊ก"

"เกมแพด"

"keyboard"

"เมาส์"

"แท็บเล็ต"

"keyboardMouseCombo"

FilterType

Chrome 67 ขึ้นไป

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

ค่าแจกแจง

"ทั้งหมด"

"เป็นที่รู้จัก"

Transport

Chrome 76 ขึ้นไป

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

ค่าแจกแจง

"ไม่ถูกต้อง"

"คลาสสิก"

"le"

"คู่"

VendorIdSource

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

ค่าแจกแจง

"บลูทูธ"

"usb"

เมธอด

getAdapterState()

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

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (adapterInfo: AdapterState) => void

    • adapterInfo

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

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

  • Promise<AdapterState>

    Chrome 91 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getDevice()

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

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

พารามิเตอร์

  • deviceAddress

    สตริง

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

  • Callback

    ไม่บังคับ

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

    (deviceInfo: Device) => void

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

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

  • Promise<Device>

    Chrome 91 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getDevices()

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

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

พารามิเตอร์

  • ตัวกรอง

    BluetoothFilter ไม่บังคับ

    Chrome 67 ขึ้นไป

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

  • Callback

    ไม่บังคับ

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

    (deviceInfos: Device[]) => void

    • deviceInfos

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

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

  • สัญญา<อุปกรณ์[]>

    Chrome 91 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

startDiscovery()

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

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

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    Chrome 91 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

stopDiscovery()

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

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    Chrome 91 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

กิจกรรม

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