Mô tả
Sử 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.
Phạm vi cung cấp
Tệp kê khai
Loại
AcceptError
Enum
"system_error"
Đã xảy ra lỗi hệ thống và có thể không khôi phục được kết nối.
"not_listening"
Ổ cắm không nghe.
AcceptErrorInfo
Thuộc tính
-
error
Mã lỗi cho biết vấn đề đã xảy ra.
-
errorMessage
chuỗi
Thông báo lỗi.
-
socketId
số
Giá trị nhận dạng điểm cuối máy chủ.
AcceptInfo
Thuộc tính
-
clientSocketId
số
Giá trị nhận dạng điểm cuối máy khách, tức là giá trị nhận dạng điểm cuối 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 điểm cuối máy 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
số
Giá trị nhận dạng điểm cuối máy chủ.
CreateInfo
Thuộc tính
-
socketId
số
Mã nhận dạng của cổng kết nối mới được tạo. Xin lưu ý rằng mã nhận dạng ổ cắm được tạo từ API này không tương thích với mã nhận dạng ổ cắm được tạo từ các API khác, chẳng hạn như API
[sockets.tcp](../sockets_tcp/).
ListenOptions
Thuộc tính
-
tồn đọng
number không bắt buộc
Độ dài của hàng đợi nghe của cổng kết nối. Giá trị mặc định phụ thuộc vào hệ thống con của máy chủ lưu trữ hệ điều hành.
-
kênh
number không bắt buộc
Kênh RFCOMM mà
listenUsingRfcommsử 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, một kênh chưa sử dụng sẽ tự động được phân bổ. -
psm
number không bắt buộc
PSM L2CAP mà
listenUsingL2capsử dụng. Nếu được chỉ định, PSM này 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, PSM chưa sử dụng sẽ tự động được phân bổ.
ReceiveError
Enum
"disconnected"
Kết nối đã bị ngắt.
"system_error"
Đã xảy ra lỗi hệ thống và có thể không khôi phục được kết nối.
"not_connected"
Ổ cắm chưa được kết nối.
ReceiveErrorInfo
Thuộc tính
-
error
Mã lỗi cho biết vấn đề đã xảy ra.
-
errorMessage
chuỗi
Thông báo lỗi.
-
socketId
số
Giá trị nhận dạng cổng kết nối.
ReceiveInfo
Thuộc tính
-
khác
ArrayBuffer
Dữ liệu nhận được, có kích thước tối đa là
bufferSize. -
socketId
số
Giá trị nhận dạng cổng kết nối.
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ì ổ cắm này sẽ chứa địa chỉ Bluetooth của thiết bị mà ổ cắm này kết nối.
-
bufferSize
number không bắt buộc
Kích thước của vùng đệm dùng để nhận dữ liệu. Nếu bạn không chỉ định rõ dung lượng bộ nhớ đệm, thì giá trị này 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 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 cổ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 qua sự kiện
onAccepthay được đưa vào hàng đợi trong danh sách chờ của hàng đợi nghe hay không. Vui lòng xemsetPaused. Giá trị mặc định là "false". -
bền vững
boolean
Cờ cho biết liệu cổng kết nối 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
số
Giá trị nhận dạng cổng kết nối.
-
uuid
chuỗi không bắt buộc
Nếu ổ cắm cơ bản được kết nối, thì ổ cắm này sẽ chứa thông tin về UUID của dịch vụ mà ổ cắm này kết nối. Nếu không, nếu ổ cắm cơ bản đang nghe, thì ổ cắm này sẽ chứa thông tin về UUID của dịch vụ mà ổ cắm này đang nghe.
SocketProperties
Thuộc tính
-
bufferSize
number 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.
-
bền vững
boolean không bắt buộc
Cờ cho biết liệu ổ cắm có được 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, mọi cổng kết nối đã mở trước đó bằng persistent=true đều có thể được tìm nạp bằnggetSockets.
Phương thức
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
Ngắt kết nối và huỷ socket. Mỗi cổng kết nối được tạo phải được đóng 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, ổ cắm chỉ được đảm bảo đóng khi lệnh gọi lại được gọi.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
): Promise<void>
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, thì sự kiện onReceiveError sẽ được kích hoạt. Tại thời điểm đó, không có sự kiện onReceive nào khác được kích hoạt cho cổng này cho đến khi phương thức setPaused(false) được gọi.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
xử lý
chuỗi
Địa chỉ của thiết bị Bluetooth.
-
uuid
chuỗi
UUID của dịch vụ cần kết nối.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Tạo một cổng Bluetooth.
Thông số
-
tài sản
SocketProperties không bắt buộc
Thuộc tính của ổ cắm (không bắt buộc).
-
callback
hàm không bắt buộc
Tham số
callbackcó 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ênLờ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()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Ngắt kết nối ổ cắm. Mã nhận dạng cổng kết nối vẫn hợp lệ.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Truy xuất trạng thái của cổng đã cho.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(socketInfo: SocketInfo) => void
-
socketInfo
Đối tượng chứa thông tin về cổng kết nối.
-
Giá trị trả về
-
Promise<SocketInfo>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Truy xuất danh sách các cổng kết nối hiện đang mở thuộc sở hữu của ứng dụng.
Thông số
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(sockets: SocketInfo[]) => void
-
ổ cắm
Mảng đối tượng chứa thông tin về cổng kết nối.
-
Giá trị trả về
-
Promise<SocketInfo[]>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Nghe kết nối bằng giao thức L2CAP.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
uuid
chuỗi
UUID của dịch vụ cần 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ụ.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Nghe các kết nối bằng giao thức RFCOMM.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
uuid
chuỗi
UUID của dịch vụ cần 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ụ.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
): Promise<number>
Gửi dữ liệu trên cổng Bluetooth đã cho.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
khác
ArrayBuffer
Dữ liệu cần gửi.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(bytesSent: number) => void
-
bytesSent
số
Số byte đã gửi.
-
Giá trị trả về
-
Promise<number>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Bật hoặc tắt một cổng kết nối để nhận thông báo từ cổng ngang hàng hoặc một cổng nghe để chấp nhận các kết nối mới. Giá trị mặc định là "false". Ứng dụng thường tạm dừng một cổng kết nối để điều tiết dữ liệu do ứng dụng ngang hàng gửi. Khi một cổng 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ổng kết nối được kết nối và không bị tạm dừng, các sự kiện onReceive sẽ được kích hoạt lại khi nhận được thông báo. Khi một cổng nghe bị tạm dừng, các kết nối mới sẽ được chấp nhận cho đến khi tồn đọng đầy, sau đó các yêu cầu kết nối bổ sung sẽ bị từ chối. Sự kiện onAccept chỉ được kích hoạt khi ổ cắm không bị tạm dừng.
Thông số
-
socketId
số
-
tạm dừng
boolean
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLờ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()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Cập nhật các thuộc tính của ổ cắm.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
tài sản
Các thuộc tính cần cập nhật.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 91 trở lênLờ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 một kết nối đã được thiết lập cho một cổng nhất định.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(info: AcceptInfo) => void
-
info
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Sự kiện được kích hoạt khi xảy ra lỗi mạng trong khi thời gian chạy đang chờ kết nối mới trên cổng đã cho. Sau khi sự kiện này được kích hoạt, socket sẽ được đặt thành paused và không có sự kiện onAccept nào khác được kích hoạt cho socket này.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(info: AcceptErrorInfo) => void
-
info
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Sự kiện được kích hoạt khi nhận được dữ liệu cho một cổng kết nối nhất định.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(info: ReceiveInfo) => void
-
info
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Sự kiện được kích hoạt khi xảy ra lỗi mạng trong khi thời gian chạy đang chờ dữ liệu trên cổng kết nối. Sau khi sự kiện này được kích hoạt, socket sẽ được đặt thành paused và không có sự kiện onReceive nào khác được kích hoạt cho socket này.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(info: ReceiveErrorInfo) => void
-
info
-