chrome.bluetooth

Mô tả

Sử dụng API chrome.bluetooth để kết nối với một thiết bị Bluetooth. Tất cả các hàm đều báo cáo lỗi thông qua chrome.runtime.lastError.

Tệp kê khai

Bạn phải khai báo các khoá sau trong tệp kê khai để sử dụng API này.

"bluetooth"

Loại

AdapterState

Thuộc tính

  • xử lý

    chuỗi

    Địa chỉ của bộ chuyển đổi, theo định dạng "XX:XX:XX:XX:XX:XX".

  • có sẵn

    boolean

    Cho biết liệu bộ chuyển đổi có hoạt động (tức là được bật) hay không.

  • khám phá

    boolean

    Cho biết liệu bộ chuyển đổi có đang khám phá hay không.

  • tên

    chuỗi

    Tên của bộ chuyển đổi mà con người có thể đọc được.

  • được cung cấp

    boolean

    Cho biết bộ chuyển đổi có nguồn điện hay không.

BluetoothFilter

Chrome 67 trở lên

Thuộc tính

  • filterType

    FilterType không bắt buộc

    Loại bộ lọc cần áp dụng cho danh sách thiết bị. Giá trị mặc định là tất cả.

  • giới hạn

    number không bắt buộc

    Số lượng thiết bị Bluetooth tối đa cần trả về. Giá trị mặc định là 0 (không giới hạn) nếu bạn không chỉ định.

Device

Thuộc tính

  • xử lý

    chuỗi

    Địa chỉ của thiết bị, theo định dạng "XX:XX:XX:XX:XX:XX".

  • batteryPercentage

    number không bắt buộc

    Chrome 77 trở lên

    Lượng pin còn lại của thiết bị.

  • có thể kết nối

    boolean không bắt buộc

    Chrome 48 trở lên

    Cho biết liệu thiết bị có kết nối được hay không.

  • đã kết nối

    boolean không bắt buộc

    Cho biết liệu thiết bị hiện có kết nối với hệ thống hay không.

  • đang kết nối

    boolean không bắt buộc

    Chrome 48 trở lên

    Cho biết liệu thiết bị có đang kết nối với hệ thống hay không.

  • deviceClass

    number không bắt buộc

    Lớp của thiết bị, một trường bit do http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband xác định.

  • deviceId

    number không bắt buộc

  • inquiryRssi

    number không bắt buộc

    Chrome 44 trở lên

    Cường độ tín hiệu nhận được, tính bằng dBm. Trường này chỉ có sẵn và hợp lệ trong quá trình khám phá. Giá trị của tham số này không được chỉ định bên ngoài quy trình khám phá.

  • inquiryTxPower

    number không bắt buộc

    Chrome 44 trở lên

    Mức công suất truyền. Trường này chỉ có sẵn cho các thiết bị LE có trường này trong AD. Tham số này chỉ có sẵn và hợp lệ trong quá trình khám phá.

  • tên

    chuỗi không bắt buộc

    Tên dễ đọc của thiết bị.

  • đã ghép nối

    boolean không bắt buộc

    Cho biết thiết bị có được ghép nối với hệ thống hay không.

  • productId

    number không bắt buộc

  • vận chuyển

    Giao thông vận tải không bắt buộc

    Chrome 76 trở lên

    Loại phương thức truyền dữ liệu của thiết bị Bluetooth.

  • loại

    DeviceType không bắt buộc

    Loại thiết bị, nếu Chrome nhận dạng được. Thông tin này được lấy từ trường deviceClass và chỉ đại diện cho một phần nhỏ trong số các loại thiết bị có thể có. Khi nghi ngờ, bạn nên sử dụng trực tiếp trường deviceClass.

  • uuids

    string[] không bắt buộc

    UUID của các giao thức, hồ sơ và dịch vụ mà thiết bị quảng cáo. Đối với các thiết bị Bluetooth thông thường, danh sách này được lấy từ dữ liệu EIR và bảng SDP. Đối với các thiết bị có mức tiêu thụ năng lượng thấp, danh sách này được lấy từ các dịch vụ chính AD và GATT. Đối với các thiết bị có chế độ kép, bạn có thể lấy thông tin này từ cả hai.

  • vendorId

    number không bắt buộc

  • vendorIdSource

    VendorIdSource không bắt buộc

    Bản ghi Mã thiết bị của thiết bị (nếu có).

DeviceType

Các loại thiết bị phổ biến mà Chrome nhận dạng được.

Enum

"computer"

"phone"

"modem"

"audio"

"carAudio"

"video"

"peripheral"

"joystick"

"gamepad"

"keyboard"

"mouse"

"tablet"

"keyboardMouseCombo"

FilterType

Chrome 67 trở lên

Các loại để lọc thiết bị Bluetooth.

Enum

"tất cả"

"known"

Transport

Chrome 76 trở lên

Loại phương thức truyền dữ liệu của thiết bị Bluetooth.

Enum

"invalid"

"classic"

"le"

"dual"

VendorIdSource

Cơ quan phân bổ cho Mã nhà cung cấp.

Enum

"bluetooth"

"usb"

Phương thức

getAdapterState()

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

Nhận thông tin về bộ chuyển đổi Bluetooth.

Thông số

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (adapterInfo: AdapterState) => void

    • adapterInfo

      Đối tượng chứa thông tin về bộ chuyển đổi.

Giá trị trả về

  • Promise<AdapterState>

    Chrome 91 trở lên

    Các promise chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getDevice()

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

Nhận thông tin về một thiết bị Bluetooth mà hệ thống biết.

Thông số

  • deviceAddress

    chuỗi

    Địa chỉ của thiết bị cần nhận.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (deviceInfo: Device) => void

    • deviceInfo

      Đối tượng chứa thông tin về thiết bị.

Giá trị trả về

  • Promise<Device>

    Chrome 91 trở lên

    Các promise chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getDevices()

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

Nhận danh sách các thiết bị Bluetooth mà hệ thống biết, bao gồm cả các thiết bị đã ghép nối và các thiết bị được phát hiện gần đây.

Thông số

  • filter

    BluetoothFilter không bắt buộc

    Chrome 67 trở lên

    Một số tiêu chí để lọc danh sách các thiết bị bluetooth được trả về. Nếu bạn không đặt bộ lọc hoặc đặt thành {}, danh sách thiết bị được trả về sẽ chứa tất cả thiết bị Bluetooth. Hiện tại, chế độ này chỉ được hỗ trợ trong ChromeOS. Đối với các nền tảng khác, một danh sách đầy đủ sẽ được trả về.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (deviceInfos: Device[]) => void

    • deviceInfos

      Mảng đối tượng chứa thông tin thiết bị.

Giá trị trả về

  • Promise<Device[]>

    Chrome 91 trở lên

    Các promise chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

startDiscovery()

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

Bắt đầu khám phá. Các thiết bị mới phát hiện được sẽ được trả về thông qua sự kiện onDeviceAdded. Các thiết bị đã phát hiện mà bộ điều hợp đã biết phải được lấy bằng getDevices và sẽ chỉ được cập nhật bằng sự kiện onDeviceChanged nếu thông tin về các thiết bị đó thay đổi.

Tính năng Khám phá sẽ không khởi động được nếu ứng dụng này đã gọi startDiscovery. Quá trình khám phá có thể tốn nhiều tài nguyên: bạn nên gọi stopDiscovery càng sớm càng tốt.

Thông số

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 91 trở lên

    Các promise chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

stopDiscovery()

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

Dừng khám phá.

Thông số

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 91 trở lên

    Các promise chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

Sự kiện

onAdapterStateChanged

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

Được kích hoạt khi trạng thái của bộ chuyển đổi Bluetooth thay đổi.

Thông số

onDeviceAdded

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

Được kích hoạt khi có thông tin về một thiết bị Bluetooth mới.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (device: Device) => void

onDeviceChanged

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

Được kích hoạt khi thông tin về một thiết bị Bluetooth đã biết thay đổi.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (device: Device) => void

onDeviceRemoved

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

Được kích hoạt khi một thiết bị Bluetooth đã được phát hiện trước đó nằm ngoài phạm vi đủ lâu để được coi là không dùng được nữa và khi một thiết bị đã ghép nối bị xoá.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (device: Device) => void