Beschreibung
Verwenden Sie die chrome.bluetoothSocket
API, um über RFCOMM- und L2CAP-Verbindungen Daten an Bluetooth-Geräte zu senden und zu empfangen.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, um diese API verwenden zu können.
"bluetooth"
Typen
AcceptError
Enum
"system_error"
Es ist ein Systemfehler aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.
"not_listening"
Der Socket hört nicht zu.
AcceptErrorInfo
Attribute
-
Fehler
Ein Fehlercode, der angibt, was schiefgelaufen ist.
-
errorMessage
String
Die Fehlermeldung.
-
socketId
Zahl
Die Server-Socket-ID.
AcceptInfo
Attribute
-
clientSocketId
Zahl
Die Client-Socket-ID, d.h. die Socket-ID der neu hergestellten Verbindung. Diese Socket-ID sollte nur mit Funktionen aus dem Namespace
chrome.bluetoothSocket
verwendet werden. Beachten Sie, dass der Client-Socket anfänglich angehalten ist und von der Anwendung explizit wieder aktiviert werden muss, um mit dem Empfang von Daten zu beginnen. -
socketId
Zahl
Die Server-Socket-ID.
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Beachten Sie, dass von dieser API erstellte Socket-IDs nicht mit Socket-IDs kompatibel sind, die von anderen APIs wie der
[
sockets.tcp](../sockets_tcp/)
API erstellt wurden.
ListenOptions
Attribute
-
Rückstand
Zahl optional
Länge der Warteschlange für die Überwachung des Sockets. Der Standardwert hängt vom Hostsubsystem des Betriebssystems ab.
-
Kanal
Zahl optional
Der von
listenUsingRfcomm
verwendete RFCOMM-Kanal. Wenn angegeben, darf dieser Kanal nicht bereits verwendet werden, da der Methodenaufruf sonst fehlschlägt. Wenn keine Angabe erfolgt, wird automatisch ein nicht verwendeter Kanal zugewiesen. -
PSM
Zahl optional
Der von
listenUsingL2cap
verwendete L2CAP PSM. Wenn angegeben, darf dieser PSM nicht schon einmal verwendet werden oder der Methodenaufruf mit „fail“. Wenn keine Angabe erfolgt, wird automatisch ein nicht verwendeter PSM zugewiesen.
ReceiveError
Enum
"disconnected"
Die Verbindung wurde getrennt.
"system_error"
Es ist ein Systemfehler aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.
"not_connected"
Der Socket wurde nicht verbunden.
ReceiveErrorInfo
Attribute
-
Fehler
Ein Fehlercode, der angibt, was schiefgelaufen ist.
-
errorMessage
String
Die Fehlermeldung.
-
socketId
Zahl
Die Socket-ID.
ReceiveInfo
Attribute
-
Daten
ArrayBuffer
Die empfangenen Daten mit einer maximalen Größe von
bufferSize
. -
socketId
Zahl
Die Socket-ID.
SocketInfo
Attribute
-
Adresse
String optional
Wenn das zugrunde liegende Socket verbunden ist, enthält es die Bluetooth-Adresse des Geräts, mit dem es verbunden ist.
-
bufferSize
Zahl optional
Die Größe des Zwischenspeichers, der für den Empfang von Daten verwendet wird. Wenn keine Puffergröße explizit angegeben wurde, wird der Wert nicht angegeben.
-
verbunden
boolean
Flag, das angibt, ob der Socket mit einem Remote-Peer verbunden ist.
-
Name
String optional
Anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
pausiert
boolean
Flag, das angibt, ob ein verbundener Socket seinen Peer daran hindert, mehr Daten zu senden, oder ob Verbindungsanfragen an einen wartenden Socket über das
onAccept
-Ereignis weitergeleitet oder im Rückstand der Warteschlange für die Warteschleife weitergeleitet werden.setPaused
ansehen. Der Standardwert lautet „false“. -
nichtflüchtige
boolean
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe
SocketProperties.persistent
). Der Standardwert ist „false“. -
socketId
Zahl
Die Socket-ID.
-
uuid
String optional
Wenn der zugrunde liegende Socket verbunden ist, enthält er Informationen über die Dienst-UUID, mit der er verbunden ist. Andernfalls enthält er Informationen über die Dienst-UUID, die er überwacht, wenn der zugrunde liegende Socket den Dienst überwacht.
SocketProperties
Attribute
-
bufferSize
Zahl optional
Die Größe des Zwischenspeichers, der für den Empfang von Daten verwendet wird. Der Standardwert ist 4.096.
-
Name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
Boolescher Wert optional
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist
false.
. Beim Laden der Anwendung können alle Sockets, die zuvor mit persistent=true geöffnet wurden, mitgetSockets
abgerufen werden.
Methoden
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
Trennt den Socket und zerstört ihn. Jeder erstellte Socket sollte nach der Verwendung geschlossen werden. Die Socket-ID ist nicht mehr gültig, sobald die Funktion aufgerufen wird. Allerdings wird der Socket nur dann garantiert geschlossen, wenn der Callback aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
Verbindet die Steckdose mit einem Remote-Bluetooth-Gerät. Wenn der connect
-Vorgang erfolgreich abgeschlossen wurde, werden onReceive
-Ereignisse ausgelöst, wenn Daten vom Peer empfangen werden. Wenn ein Netzwerkfehler auftritt, während die Laufzeit Pakete empfängt, wird ein onReceiveError
-Ereignis ausgelöst. Dann wird kein onReceive
-Ereignis für diesen Socket mehr ausgelöst, bis die Methode setPaused(false)
aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des Bluetooth-Geräts.
-
uuid
String
Die UUID des Dienstes, zu dem eine Verbindung hergestellt werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Erstellt einen Bluetooth-Socket.
Parameter
-
Properties
SocketProperties – optional
Die Socket-Eigenschaften (optional).
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Gibt Folgendes zurück:
-
Promise<CreateInfo>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
Trennt den Socket. Die Socket-ID bleibt gültig.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
Ruft den Status des angegebenen Sockets ab.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(socketInfo: SocketInfo) => void
-
socketInfo
Objekt, das die Socket-Informationen enthält.
-
Gibt Folgendes zurück:
-
Promise<SocketInfo>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
Ruft die Liste der aktuell geöffneten Sockets ab, die der Anwendung gehören.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(sockets: SocketInfo[]) => void
-
Sockets
-
Gibt Folgendes zurück:
-
Promise<SocketInfo[]>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Achten Sie auf Verbindungen mit dem L2CAP-Protokoll.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
uuid
String
Dienst-UUID, die überwacht werden soll.
-
Optionen
ListenOptions optional
Optionale zusätzliche Optionen für den Dienst.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Warte auf Verbindungen mit dem RFCOMM-Protokoll.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
uuid
String
Dienst-UUID, die überwacht werden soll.
-
Optionen
ListenOptions optional
Optionale zusätzliche Optionen für den Dienst.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
Sendet Daten über den angegebenen Bluetooth-Anschluss.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Daten
ArrayBuffer
Die zu sendenden Daten.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(bytesSent: number) => void
-
bytesSent
Zahl
Die Anzahl der gesendeten Byte.
-
Gibt Folgendes zurück:
-
Promise<number>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Aktiviert oder deaktiviert einen verbundenen Socket für den Empfang von Nachrichten von seinem Peer oder einen Überwachungs-Socket für den Empfang neuer Verbindungen. Der Standardwert lautet „false“. Das Pausieren eines verbundenen Sockets wird in der Regel von Anwendungen verwendet, um die von ihrem Peer gesendeten Daten zu drosseln. Wenn ein verbundener Socket pausiert wird, wird kein onReceive
-Ereignis ausgelöst. Wenn ein Socket verbunden und die Pausierung aufgehoben wird, werden onReceive
-Ereignisse beim Empfang von Nachrichten wieder ausgelöst. Wenn ein Überwachungs-Socket angehalten wird, werden neue Verbindungen angenommen, bis der Rückstand voll ist. Dann werden weitere Verbindungsanfragen abgelehnt. onAccept
-Ereignisse werden nur ausgelöst, wenn die Pausierung des Sockets aufgehoben wird.
Parameter
-
socketId
Zahl
-
pausiert
boolean
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aktualisiert die Socket-Eigenschaften.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Eigenschaften.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn eine Verbindung für einen bestimmten Socket hergestellt wurde.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(info: AcceptInfo) => void
-
Info
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Das Ereignis wird ausgelöst, wenn ein Netzwerkfehler aufgetreten ist, während die Laufzeit auf neue Verbindungen am angegebenen Socket wartet. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine weiteren onAccept
-Ereignisse für diesen Socket ausgelöst.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(info: AcceptErrorInfo) => void
-
Info
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Das Ereignis wird ausgelöst, wenn Daten für einen bestimmten Socket empfangen wurden.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Das Ereignis wird ausgelöst, wenn ein Netzwerkfehler auftrat, während die Laufzeit auf Daten im Socket wartete. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine weiteren onReceive
-Ereignisse für diesen Socket ausgelöst.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(info: ReceiveErrorInfo) => void
-
Info
-