chrome.bluetoothSocket

Nội dung mô tả

Dùng API chrome.bluetoothSocket để gửi và nhận dữ liệu đến 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

Liệt kê

"system_error"
Đã xảy ra lỗi hệ thống nên không thể khôi phục kết nối.

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

AcceptErrorInfo

Thuộc tính

  • error

    Mã lỗi cho biết đã xảy ra sự cố.

  • errorMessage

    string

    Thông báo lỗi.

  • socketId

    number

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

AcceptInfo

Thuộc tính

  • clientSocketId

    number

    Giá trị nhận dạng cổng máy khách, tức là giá trị nhận dạng ổ cắm của kết nối mới 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 cổng ứng dụng khách ban đầu 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

    number

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

CreateInfo

Thuộc tính

  • socketId

    number

    Mã của cổng mới được tạo. Lưu ý rằng mã ổ cắm được tạo qua API này không tương thích với mã cổng đượ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ổng. Giá trị mặc định tuỳ thuộc vào hệ thống máy chủ phụ 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 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, kênh không được sử dụng sẽ được phân bổ tự động.

  • phút

    số không bắt buộc

    PSM L2CAP mà listenUsingL2cap sử dụng. Nếu được chỉ định, PSM này phải chưa đượ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, PSM không sử dụng sẽ tự động được phân bổ.

ReceiveError

Liệt kê

"đã 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 nên không thể khôi phục kết nối.

"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 sự cố.

  • errorMessage

    string

    Thông báo lỗi.

  • socketId

    number

    Giá trị nhận dạng ổ cắm.

ReceiveInfo

Thuộc tính

  • data

    ArrayBuffer

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

  • socketId

    number

    Giá trị 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, thì hãy chứa địa chỉ Bluetooth của thiết bị được kết nối.

  • bufferSize

    số không bắt buộc

    Kích thước của vùng đệm dùng để nhận dữ liệu. Nếu không có kích thước vùng đệ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 kết nối 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 một 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 các yêu cầu kết nối trên một cổng nghe được gửi thông qua sự kiện onAccept hay đưa vào hàng đợi trong danh sách chờ của hàng đợi nghe. Vui lòng xem setPaused. Giá trị mặc định là "false".

  • cố định

    boolean

    Cờ cho biết liệu ổ cắm có tiếp tục 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

    number

    Giá trị 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 của dịch vụ mà ổ cắm đó được kết nối, nếu không, nếu ổ cắm cơ bản đang nghe, hãy chứa thông tin về UUID của dịch vụ mà ổ cắm đó đang nghe.

SocketProperties

Thuộc tính

  • bufferSize

    số không bắt buộc

    Kích thước của 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

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

  • cố định

    boolean không bắt buộc

    Cờ cho biết liệu socket 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, bạn có thể tìm nạp mọi ổ cắm trước đó đã mở bằngPersist=true bằng getSockets.

Phương thức

close()

Cam kết
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

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

Tham số

  • socketId

    number

    Giá trị 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ề

  • Promise<void>

    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()

Cam kết
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

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 kích hoạt khi nhận được dữ liệu từ ứng dụng ngang hàng. Nếu xảy ra lỗi mạng trong khi thời gian chạy đang nhận gói, sự kiện onReceiveError sẽ xảy ra. Khi đó, sự kiện onReceive sẽ không còn xuất hiện cho ổ cắm này cho đến khi phương thức setPaused(false) được gọi.

Tham số

  • socketId

    number

    Giá trị 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ụ để 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ề

  • Promise<void>

    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()

Cam kết
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Tạo một ổ cắm Bluetooth.

Tham số

  • các tài sản

    SocketProperties không bắt buộc

    Thuộc tính ổ 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<CreateInfo>

    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()

Cam kết
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

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

Tham số

  • socketId

    number

    Giá trị 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ề

  • Promise<void>

    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()

Cam kết
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

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

Tham số

  • socketId

    number

    Giá trị 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ổng.

Giá trị trả về

  • Promise<SocketInfo>

    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()

Cam kết
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

Truy xuất danh sách ổ cắm hiện đang mở do ứ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<SocketInfo[]>

    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()

Cam kết
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

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

Tham số

  • socketId

    number

    Giá trị nhận dạng ổ cắm.

  • uuid

    string

    Dịch vụ UUID để 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 dành 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ề

  • Promise<void>

    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()

Cam kết
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

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

Tham số

  • socketId

    number

    Giá trị nhận dạng ổ cắm.

  • uuid

    string

    Dịch vụ UUID để 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 dành 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ề

  • Promise<void>

    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()

Cam kết
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

Gửi dữ liệu trên giắc cắm Bluetooth đã cho.

Tham số

  • socketId

    number

    Giá trị nhận dạng ổ cắm.

  • data

    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

      number

      Số byte đã gửi.

Giá trị trả về

  • Hứa hẹn<number>

    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()

Cam kết
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Cho phép hoặc tắt một ổ cắm đã kết nối nhận thông báo từ ứng dụng ngang hàng hoặc ổ cắm nghe để không chấp nhận kết nối mới. Giá trị mặc định là "false". Ứng dụng thường dùng tính năng tạm dừng một ổ cắm đã kết nối để điều tiết dữ liệu do ứng dụng ngang hàng gửi. Khi một ổ cắm đã kết nối bị tạm dừng, sẽ không có sự kiện onReceive nào được kích hoạt. Khi một ổ cắm được kết nối và huỷ tạm dừng, các sự kiện onReceive sẽ được nâng lên lần nữa khi nhận được tin nhắn. Khi ổ cắm 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 chưa thực hiện đầy đủ, sau đó các yêu cầu kết nối bổ sung sẽ bị từ chối. Các sự kiện onAccept chỉ được kích hoạt khi ổ cắm đã được huỷ tạm dừng.

Tham số

  • socketId

    number

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

  • Promise<void>

    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()

Cam kết
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Cập nhật các thuộc tính socket.

Tham số

  • socketId

    number

    Giá trị 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ề

  • Promise<void>

    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 kích hoạt khi thiết lập một kết nối cho một ổ cắm nhất định.

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 khi thời gian chạy đang chờ các kết nối mới trên ổ cắm nhất định. Sau khi sự kiện này được kích hoạt, ổ cắm sẽ được đặt thành paused và không còn sự kiện onAccept nào được tăng lên cho ổ cắm này.

Tham số

onReceive

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

Sự kiện được phát sinh khi nhận được dữ liệu cho một cổng nhất định.

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 xuất hiện khi xảy ra lỗi mạng trong khi thời gian chạy đang chờ dữ liệu trên ổ cắm. Sau khi sự kiện này được kích hoạt, ổ cắm sẽ được đặt thành paused và không còn sự kiện onReceive nào được tăng lên cho ổ cắm này.

Tham số