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
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 xemsetPaused
. 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ằnggetSockets
.
Phương thức
close()
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ê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,
)
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ê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,
)
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ê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,
)
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ê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,
)
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ê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,
)
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
-
ổ cắm
-
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,
)
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ê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,
)
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ê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,
)
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ê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,
)
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ê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,
)
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ê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 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
-
info
-
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ố
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(info: AcceptErrorInfo) => void
-
info
-
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
-
info
-
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ố
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(info: ReceiveErrorInfo) => void
-
info
-