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.
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 lỗi đã xảy ra.
-
errorMessage
chuỗi
Thông báo lỗi.
-
socketId
số
Giá trị 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
. Xin lưu ý rằng ổ cắm ứng dụng ban đầu bị tạm dừng và ứng dụng phải 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 ổ cắm máy chủ.
CreateInfo
Thuộc tính
-
socketId
số
Mã nhận dạng của ổ cắm mới tạo. Xin lưu ý rằng mã ổ cắm được tạo từ API này không tương thích với mã ổ 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
-
danh sách công việc 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 phụ thuộc vào hệ thống con máy chủ của hệ điều hành.
-
kênh
số không bắt buộc
Kênh RFCOMM do
listenUsingRfcomm
sử dụng. Nếu được chỉ định, kênh này không được đang sử dụng trước đó, nếu không lệnh gọi phương thức sẽ không thành công. Nếu bạn không chỉ định, hệ thống sẽ tự động phân bổ một kênh không dùng đến. -
psm
số không bắt buộc
PSM L2CAP do
listenUsingL2cap
sử 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 sẽ không thành công. Khi không được chỉ định, PSM không sử dụng sẽ được tự động 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"
Giao diện kết nối chưa được kết nối.
ReceiveErrorInfo
Thuộc tính
-
error
Mã lỗi cho biết lỗi đã xảy ra.
-
errorMessage
chuỗi
Thông báo lỗi.
-
socketId
số
Giá trị nhận dạng ổ cắm.
ReceiveInfo
Thuộc tính
-
dữ liệu
ArrayBuffer
Dữ liệu đã nhận, có kích thước tối đa là
bufferSize
. -
socketId
số
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, 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 bạn không chỉ định rõ kích thước vùng đệm, thì giá trị này sẽ không được cung cấp.
-
đã kết nối
boolean
Cờ cho biết ổ cắm có được kết nối với một máy tính 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ắm đã kết nối có chặn đồng cấp 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ắm nghe có được gửi qua sự kiện
onAccept
hay được đưa vào hàng đợi trong hàng đợi nghe tồn đọng hay không. Vui lòng xemsetPaused
. 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ố
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, chứa thông tin về UUID dịch vụ mà ổ cắm đó được kết nối, nếu không, nếu ổ cắm cơ bản đang nghe, chứa thông tin về UUID 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
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ó đượ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ắm đã 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,
)
Ngắt kết nối và huỷ ổ cắm. Mỗi ổ cắm đượ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 được đảm bảo chỉ đóng khi lệnh gọi lại được gọi.
Tham số
-
socketId
số
Giá trị nhận dạng ổ cắm.
-
lệnh gọi lại
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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ừ máy 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 đó, sẽ không có sự kiện onReceive
nào khác đượ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ố
Giá trị nhận dạng ổ cắm.
-
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.
-
lệnh gọi lại
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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 ổ 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).
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(createInfo: CreateInfo) => void
-
createInfo
Kết quả của quá trình tạo ổ cắm.
-
Giá trị trả về
-
Promise<CreateInfo>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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
số
Giá trị nhận dạng ổ cắm.
-
lệnh gọi lại
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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
số
Giá trị nhận dạng ổ cắm.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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<SocketInfo>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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ác ổ cắm hiện đang mở thuộc sở hữu của ứng dụng.
Tham số
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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 Tệp kê khai 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,
)
Nghe các kết nối bằng giao thức L2CAP.
Tham số
-
socketId
số
Giá trị nhận dạng ổ cắm.
-
uuid
chuỗi
UUID dịch vụ để nghe.
-
tùy chọn
ListenOptions không bắt buộc
Các tuỳ chọn bổ sung không bắt buộc cho dịch vụ.
-
lệnh gọi lại
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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
số
Giá trị nhận dạng ổ cắm.
-
uuid
chuỗi
UUID dịch vụ để nghe.
-
tùy chọn
ListenOptions không bắt buộc
Các tuỳ chọn bổ sung không bắt buộc cho dịch vụ.
-
lệnh gọi lại
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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 ổ cắm Bluetooth đã cho.
Tham số
-
socketId
số
Giá trị nhận dạng ổ cắm.
-
dữ liệu
ArrayBuffer
Dữ liệu cần gửi.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(bytesSent: number) => void
-
bytesSent
số
Số byte đã gửi.
-
Giá trị trả về
-
Promise<số>
Chrome 91 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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,
)
Bật hoặc tắt ổ cắm đã kết nối để nhận thông báo từ máy ngang hàng hoặc ổ cắm nghe để 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 ổ cắm đã kết nối thường được ứng dụng sử dụng để điều tiết dữ liệu do máy 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à 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ắm nghe bị tạm dừng, các kết nối mới sẽ được chấp nhận cho đến khi hàng đợi kết nối đầ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 bạn bỏ tạm dừng ổ cắm.
Tham số
-
socketId
số
-
tạm dừng
boolean
-
lệnh gọi lại
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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 của ổ cắm.
Tham số
-
socketId
số
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.
-
lệnh gọi lại
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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ắm nhất định.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
có 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ờ 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ó sự kiện onAccept
nào được kích hoạt cho ổ cắm này nữa.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(info: AcceptErrorInfo) => void
-
info
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Sự kiện được kích hoạt khi dữ liệu đã được nhận cho một ổ cắm nhất định.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
có 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ắ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ó sự kiện onReceive
nào được kích hoạt cho ổ cắm này nữa.
Tham số
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(info: ReceiveErrorInfo) => void
-
info
-