chrome.bluetooth

คำอธิบาย

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

ความพร้อมใช้งาน

ChromeOS เท่านั้น

ไฟล์ Manifest

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

"bluetooth"

ประเภท

AdapterState

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

  • ที่อยู่

    สตริง

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

  • ที่มีอยู่

    บูลีน

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

  • การค้นพบ

    บูลีน

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

  • name

    สตริง

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

  • ขับเคลื่อน

    บูลีน

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

BluetoothFilter

Chrome 67 ขึ้นไป

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

  • filterType

    FilterType ไม่บังคับ

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

  • ขีดจำกัด

    number ไม่บังคับ

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

Device

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

  • ที่อยู่

    สตริง

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

  • batteryPercentage

    number ไม่บังคับ

    Chrome 77 ขึ้นไป

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

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

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

    Chrome 48 ขึ้นไป

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

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

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

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

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

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

    Chrome 48 ขึ้นไป

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

  • deviceClass

    number ไม่บังคับ

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

  • deviceId

    number ไม่บังคับ

  • inquiryRssi

    number ไม่บังคับ

    Chrome 44 ขึ้นไป

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

  • inquiryTxPower

    number ไม่บังคับ

    Chrome 44 ขึ้นไป

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

  • name

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

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

  • จับคู่แล้ว

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

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

  • productId

    number ไม่บังคับ

  • ขนส่งมวลชน

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

    Chrome 76 ขึ้นไป

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

  • ประเภท

    DeviceType ไม่บังคับ

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

  • uuids

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

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

  • vendorId

    number ไม่บังคับ

  • vendorIdSource

    VendorIdSource ไม่บังคับ

    บันทึกรหัสอุปกรณ์ของอุปกรณ์ (หากมี)

DeviceType

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

ค่าแจกแจง

"computer"

"phone"

"โมเด็ม"

"audio"

"carAudio"

"video"

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

"joystick"

"gamepad"

"keyboard"

"mouse"

"tablet"

"keyboardMouseCombo"

FilterType

Chrome 67 ขึ้นไป

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

ค่าแจกแจง

"all"

"known"

Transport

Chrome 76 ขึ้นไป

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

ค่าแจกแจง

"invalid"

"classic"

"le"

"dual"

VendorIdSource

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

ค่าแจกแจง

"bluetooth"

"usb"

เมธอด

getAdapterState()

Promise
chrome.bluetooth.getAdapterState(
  callback?: function,
)
: Promise<AdapterState>

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

พารามิเตอร์

  • callback

    function ไม่บังคับ

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

    (adapterInfo: AdapterState) => void

    • adapterInfo

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

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

  • Promise<AdapterState>

    Chrome 91 ขึ้นไป

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

getDevice()

Promise
chrome.bluetooth.getDevice(
  deviceAddress: string,
  callback?: function,
)
: Promise<Device>

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

พารามิเตอร์

  • deviceAddress

    สตริง

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

  • callback

    function ไม่บังคับ

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

    (deviceInfo: Device) => void

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

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

  • Promise<Device>

    Chrome 91 ขึ้นไป

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

getDevices()

Promise
chrome.bluetooth.getDevices(
  filter?: BluetoothFilter,
  callback?: function,
)
: Promise<Device[]>

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

พารามิเตอร์

  • ตัวกรอง

    BluetoothFilter ไม่บังคับ

    Chrome 67 ขึ้นไป

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

  • callback

    function ไม่บังคับ

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

    (deviceInfos: Device[]) => void

    • deviceInfos

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

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

  • Promise<Device[]>

    Chrome 91 ขึ้นไป

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

startDiscovery()

Promise
chrome.bluetooth.startDiscovery(
  callback?: function,
)
: Promise<void>

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

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

พารามิเตอร์

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 91 ขึ้นไป

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

stopDiscovery()

Promise
chrome.bluetooth.stopDiscovery(
  callback?: function,
)
: Promise<void>

หยุดการสำรวจ

พารามิเตอร์

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<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