chrome.bluetoothSocket

Mô tả

Sử dụng API chrome.bluetoothSocket để gửi và nhận dữ liệu tới các thiết bị Bluetooth bằng kết nối RFCOMM và L2CAP.

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

AcceptError

Enum

"system_error"
Đã xảy ra lỗi hệ thống và kết nối có thể không khôi phục được.

"not_listening"
Ổ cắm không lắng nghe.

AcceptErrorInfo

Thuộc tính

  • error

    Mã lỗi cho biết đã xảy ra lỗi.

  • errorMessage

    string

    Thông báo lỗi.

  • socketId

    số

    Mã nhận dạng ổ cắm máy chủ.

AcceptInfo

Thuộc tính

  • clientSocketId

    số

    Giá trị nhận dạng ổ cắm ứng dụng, tức là giá trị nhận dạng ổ cắm của kết nối mới được thiết lập. Bạn chỉ nên sử dụng giá trị nhận dạng ổ cắm này với các hàm trong không gian tên chrome.bluetoothSocket. Lưu ý rằng ban đầu, cổng máy khách sẽ bị tạm dừng và phải được ứng dụng huỷ tạm dừng một cách rõ ràng để bắt đầu nhận dữ liệu.

  • socketId

    số

    Mã nhận dạng ổ cắm máy chủ.

CreateInfo

Thuộc tính

  • socketId

    số

    Mã của ổ cắm mới được tạo. Xin lưu ý rằng mã nhận dạng ổ cắm do API này tạo ra không tương thích với mã nhận dạng ổ cắm được tạo qua các API khác, chẳng hạn như API [sockets.tcp](../sockets_tcp/).

ListenOptions

Thuộc tính

  • tồn đọng

    số không bắt buộc

    Độ dài của hàng đợi nghe của ổ cắm. Giá trị mặc định tuỳ thuộc vào hệ thống phụ của máy chủ lưu trữ của hệ điều hành.

  • kênh

    số không bắt buộc

    Kênh RFCOMM mà listenUsingRfcomm sử dụng. Nếu được chỉ định, kênh này phải không được sử dụng trước đó, nếu không lệnh gọi phương thức sẽ không thành công. Khi không được chỉ định, một kênh không dùng đến sẽ tự động được phân bổ.

  • nhà cung cấp dịch vụ di động

    số không bắt buộc

    PSM L2CAP mà listenUsingL2cap sử dụng. Nếu được chỉ định, PSM này phải không được sử dụng trước đó hoặc lệnh gọi phương thức không thành công. Khi không được chỉ định, hệ thống sẽ tự động phân bổ một PSM không dùng đến.

ReceiveError

Enum

"Ngắt kết nối"
Kết nối đã bị ngắt kết nối.

"system_error"
Đã xảy ra lỗi hệ thống và kết nối có thể không khôi phục được.

"not_connect"
Ổ cắm chưa được kết nối.

ReceiveErrorInfo

Thuộc tính

  • error

    Mã lỗi cho biết đã xảy ra lỗi.

  • errorMessage

    string

    Thông báo lỗi.

  • socketId

    số

    Mã nhận dạng ổ cắm.

ReceiveInfo

Thuộc tính

  • dữ liệu

    ArrayBuffer

    Dữ liệu đã nhận, với kích thước tối đa là bufferSize.

  • socketId

    số

    Mã nhận dạng ổ cắm.

SocketInfo

Thuộc tính

  • xử lý

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

    Nếu ổ cắm cơ bản đã được kết nối, hãy chứa địa chỉ Bluetooth của thiết bị kết nối với ổ cắm đó.

  • bufferSize

    số không bắt buộc

    Dung lượng vùng đệm dùng để nhận dữ liệu. Nếu không có dung lượng bộ nhớ đệm nào được chỉ định rõ ràng, thì giá trị sẽ không được cung cấp.

  • đã kết nối

    boolean

    Cờ cho biết liệu ổ cắm có được kết nối với một ứng dụng ngang hàng từ xa hay không.

  • tên

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

    Chuỗi do ứng dụng xác định được liên kết với ổ cắm.

  • tạm dừng

    boolean

    Cờ cho biết liệu cổng đã kết nối có chặn ứng dụng ngang hàng gửi thêm dữ liệu hay không, hoặc liệu các yêu cầu kết nối trên cổng nghe có được gửi thông qua sự kiện onAccept hay được đưa vào hàng đợi trong danh sách tồn đọng của hàng đợi nghe hay không. Vui lòng xem setPaused. Giá trị mặc định là "false".

  • liên tục

    boolean

    Cờ cho biết liệu ổ cắm có vẫn mở khi trang sự kiện của ứng dụng bị huỷ tải hay không (xem SocketProperties.persistent). Giá trị mặc định là "false".

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • uuid

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

    Nếu ổ cắm cơ bản đã được kết nối, hãy chứa thông tin về UUID dịch vụ được kết nối. Ngược lại, nếu ổ cắm cơ bản đang nghe, hãy chứa thông tin về UUID dịch vụ mà ổ cắm đó đang theo dõi.

SocketProperties

Thuộc tính

  • bufferSize

    số không bắt buộc

    Dung lượng vùng đệm dùng để nhận dữ liệu. Giá trị mặc định là 4096.

  • tên

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

    Chuỗi do ứng dụng xác định được liên kết với ổ cắm.

  • liên tục

    boolean không bắt buộc

    Cờ cho biết liệu ổ cắm có đang mở khi trang sự kiện của ứng dụng bị huỷ tải hay không (xem phần Quản lý vòng đời ứng dụng). Giá trị mặc định là false. Khi ứng dụng được tải, hệ thống đều có thể tìm nạp mọi cổng được mở trước đó bằng getSockets.

Phương thức

close()

Lời hứa
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

Ngắt kết nối và phá huỷ ổ cắm. Bạn phải đóng mỗi ổ cắm đã tạo sau khi sử dụng. Mã ổ cắm không còn hợp lệ ngay khi hàm được gọi. Tuy nhiên, socket được đảm bảo chỉ đóng khi lệnh gọi lại được thực hiện.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • số gọi lại

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

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

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 91 trở lên

    Lời hứa 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.

connect()

Lời hứa
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

Dùng để kết nối ổ cắm với một thiết bị Bluetooth từ xa. Khi thao tác connect hoàn tất thành công, các sự kiện onReceive sẽ được tạo ra khi nhận được dữ liệu từ ứng dụng ngang hàng. Nếu xảy ra lỗi mạng trong thời gian chạy đang nhận gói, sự kiện onReceiveError sẽ được kích hoạt. Tại thời điểm đó, sự kiện onReceive sẽ không được kích hoạt cho ổ cắm này cho đến khi phương thức setPaused(false) được gọi.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • xử lý

    string

    Địa chỉ của thiết bị Bluetooth.

  • uuid

    string

    Mã nhận dạng duy nhất (UUID) của dịch vụ cần kết nối.

  • số gọi lại

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

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

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 91 trở lên

    Lời hứa 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.

create()

Lời hứa
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Tạo ổ cắm Bluetooth.

Tham số

  • các tài sản

    SocketProperties không bắt buộc

    Các thuộc tính của ổ cắm (không bắt buộc).

  • số gọi lại

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

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

    (createInfo: CreateInfo) => void

    • createInfo

      Kết quả của việc tạo ổ cắm.

Giá trị trả về

  • Promise&lt;CreateInfo&gt;

    Chrome 91 trở lên

    Lời hứa 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.

disconnect()

Lời hứa
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

Ngắt kết nối ổ cắm. Mã nhận dạng ổ cắm vẫn hợp lệ.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • số gọi lại

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

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

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 91 trở lên

    Lời hứa 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.

getInfo()

Lời hứa
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

Truy xuất trạng thái của ổ cắm đã cho.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • số gọi lại

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

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

    (socketInfo: SocketInfo) => void

    • socketInfo

      Đối tượng chứa thông tin về ổ cắm.

Giá trị trả về

  • Promise&lt;SocketInfo&gt;

    Chrome 91 trở lên

    Lời hứa 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.

getSockets()

Lời hứa
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

Truy xuất danh sách các ổ cắm hiện đang mở mà ứng dụng sở hữu.

Tham số

  • số gọi lại

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

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

    (sockets: SocketInfo[]) => void

Giá trị trả về

  • Promise&lt;SocketInfo[]&gt;

    Chrome 91 trở lên

    Lời hứa 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.

listenUsingL2cap()

Lời hứa
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Lắng nghe các kết nối bằng giao thức L2CAP.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • uuid

    string

    Mã nhận dạng duy nhất (UUID) của dịch vụ để nghe.

  • tùy chọn

    ListenOptions không bắt buộc

    Các lựa chọn bổ sung không bắt buộc cho dịch vụ.

  • số gọi lại

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

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

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 91 trở lên

    Lời hứa 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.

listenUsingRfcomm()

Lời hứa
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Theo dõi kết nối bằng giao thức RFCOMM.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • uuid

    string

    Mã nhận dạng duy nhất (UUID) của dịch vụ để nghe.

  • tùy chọn

    ListenOptions không bắt buộc

    Các lựa chọn bổ sung không bắt buộc cho dịch vụ.

  • số gọi lại

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

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

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 91 trở lên

    Lời hứa 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.

send()

Lời hứa
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

Gửi dữ liệu trên ổ cắm Bluetooth cụ thể.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • dữ liệu

    ArrayBuffer

    Dữ liệu cần gửi.

  • số gọi lại

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

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

    (bytesSent: number) => void

    • bytesSent

      số

      Số byte đã gửi.

Giá trị trả về

  • Promise&lt;number&gt;

    Chrome 91 trở lên

    Lời hứa 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.

setPaused()

Lời hứa
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Bật hoặc tắt một cổng được kết nối nhận tin nhắn từ các cổng kết nối ngang hàng hoặc một cổng lắng nghe không chấp nhận các kết nối mới. Giá trị mặc định là "false". Việc tạm dừng một ổ cắm đã kết nối thường được một ứng dụng dùng để điều tiết dữ liệu mà ứng dụng ngang hàng gửi. Khi một ổ cắm đã kết nối bị tạm dừng, không có sự kiện onReceive nào được xảy ra. Khi một ổ cắm được kết nối và được huỷ tạm dừng, các sự kiện onReceive sẽ được thực hiện lại khi nhận được thông báo. Khi một ổ cắm lắng nghe bị tạm dừng, các kết nối mới sẽ được chấp nhận cho đến khi phần tồn đọng của nó đầy, sau đó các yêu cầu kết nối bổ sung bị từ chối. Các sự kiện onAccept chỉ được tạo ra khi ổ cắm được huỷ tạm dừng.

Tham số

  • socketId

    số

  • tạm dừng

    boolean

  • số gọi lại

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

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

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 91 trở lên

    Lời hứa 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.

update()

Lời hứa
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Cập nhật các thuộc tính của ổ cắm.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • các tài sản

    Các thuộc tính cần cập nhật.

  • số gọi lại

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

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

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 91 trở lên

    Lời hứa 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

onAccept

chrome.bluetoothSocket.onAccept.addListener(
  callback: function,
)

Sự kiện được đưa ra khi kết nối được thiết lập cho một ổ cắm cụ thể.

Tham số

  • số gọi lại

    hàm

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

    (info: AcceptInfo) => void

onAcceptError

chrome.bluetoothSocket.onAcceptError.addListener(
  callback: function,
)

Sự kiện đã xảy ra khi xảy ra lỗi mạng trong thời gian chạy đang chờ các kết nối mới trên ổ cắm cụ thể. Sau khi sự kiện này được tạo ra, ổ cắm sẽ được đặt thành paused và không có sự kiện onAccept nào khác được tạo cho ổ cắm này.

Tham số

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

Sự kiện được đưa ra khi nhận được dữ liệu cho một ổ cắm cụ thể.

Tham số

  • số gọi lại

    hàm

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

    (info: ReceiveInfo) => void

onReceiveError

chrome.bluetoothSocket.onReceiveError.addListener(
  callback: function,
)

Sự kiện đã xảy ra khi xảy ra lỗi mạng trong lúc thời gian chạy đang chờ dữ liệu trên ổ cắm. Sau khi sự kiện này được tạo ra, ổ cắm sẽ được đặt thành paused và không có sự kiện onReceive nào khác được tạo cho ổ cắm này.

Tham số