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"

"โมเด็ม"

"audio"

"carAudio"

"วิดีโอ"

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

"จอยสติ๊ก"

"gamepad"

"keyboard"

"mouse"

"tablet"

"keyboardMouseCombo"

FilterType

Chrome 67 ขึ้นไป

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

ค่าแจกแจง

"all"

"known"

Transport

Chrome 76 ขึ้นไป

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

ค่าแจกแจง

"invalid"

"คลาสสิก"

"le"

"dual"

VendorIdSource

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

ค่าแจกแจง

"bluetooth"

"usb"

เมธอด

getAdapterState()

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

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

พารามิเตอร์

  • callback

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

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

    (adapterInfo: AdapterState) => void

    • adapterInfo

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

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

  • Promise<AdapterState>

    Chrome 91 ขึ้นไป

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

getDevice()

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

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

พารามิเตอร์

  • deviceAddress

    สตริง

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

  • callback

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

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

    (deviceInfo: Device) => void

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

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

  • Promise<Device>

    Chrome 91 ขึ้นไป

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

getDevices()

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

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

พารามิเตอร์

  • ตัวกรอง

    BluetoothFilter ไม่บังคับ

    Chrome 67 ขึ้นไป

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

  • callback

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

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

    (deviceInfos: Device[]) => void

    • deviceInfos

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

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

  • Promise<Device[]>

    Chrome 91 ขึ้นไป

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

startDiscovery()

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

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

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

พารามิเตอร์

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 91 ขึ้นไป

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

stopDiscovery()

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

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

พารามิเตอร์

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 91 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ 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