QBluetoothLocalDevice Class

Die Klasse QBluetoothLocalDevice ermöglicht den Zugriff auf das lokale Bluetooth-Gerät. Mehr...

Header: #include <QBluetoothLocalDevice>
qmake: QT += bluetooth
Inherits: QObject

Öffentliche Typen

enum Error { NoError, PairingError, MissingPermissionsError, UnknownError }
enum HostMode { HostPoweredOff, HostConnectable, HostDiscoverable, HostDiscoverableLimitedInquiry }
enum Pairing { Unpaired, Paired, AuthorizedPaired }

Öffentliche Funktionen

QBluetoothLocalDevice(QObject *parent = nullptr)
QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)
virtual ~QBluetoothLocalDevice()
QBluetoothAddress address() const
QList<QBluetoothAddress> connectedDevices() const
QBluetoothLocalDevice::HostMode hostMode() const
bool isValid() const
QString name() const
QBluetoothLocalDevice::Pairing pairingStatus(const QBluetoothAddress &address) const
void powerOn()
void requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
void setHostMode(QBluetoothLocalDevice::HostMode mode)

Signale

void deviceConnected(const QBluetoothAddress &address)
void deviceDisconnected(const QBluetoothAddress &address)
(since 6.2) void errorOccurred(QBluetoothLocalDevice::Error error)
void hostModeStateChanged(QBluetoothLocalDevice::HostMode state)
void pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

Statische öffentliche Mitglieder

QList<QBluetoothHostInfo> allDevices()

Detaillierte Beschreibung

QBluetoothLocalDevice bietet Funktionen zum Abrufen und Setzen des Status lokaler Bluetooth-Geräte.

Unter iOS kann diese Klasse nicht verwendet werden, da die Plattform keine Daten oder API bereitstellt, die Informationen über das lokale Bluetooth-Gerät liefern können.

Dokumentation der Mitgliedstypen

enum QBluetoothLocalDevice::Error

Diese Aufzählung beschreibt Fehler, die zurückgegeben werden können

KonstanteWertBeschreibung
QBluetoothLocalDevice::NoError0Kein bekannter Fehler
QBluetoothLocalDevice::PairingError1Fehler beim Pairing
QBluetoothLocalDevice::MissingPermissionsError (since Qt 6.4)2Das Betriebssystem fordert Berechtigungen an, die vom Benutzer nicht erteilt wurden.
QBluetoothLocalDevice::UnknownError100Unbekannter Fehler

enum QBluetoothLocalDevice::HostMode

Diese Aufzählung beschreibt die meisten der lokalen Bluetooth-Geräte.

KonstanteWertBeschreibung
QBluetoothLocalDevice::HostPoweredOff0Das Gerät ausschalten
QBluetoothLocalDevice::HostConnectable1Entfernte Bluetooth-Geräte können eine Verbindung mit dem lokalen Bluetooth-Gerät herstellen, wenn sie zuvor mit ihm gekoppelt wurden oder seine Adresse kennen. Dadurch wird das Gerät eingeschaltet, wenn es ausgeschaltet war.
QBluetoothLocalDevice::HostDiscoverable2Entfernte Bluetooth-Geräte können das Vorhandensein des lokalen Bluetooth-Geräts feststellen. Das Gerät ist ebenfalls verbindungsfähig und wird eingeschaltet. Unter Android kann dieser Modus nur für maximal 5 Minuten aktiv sein.
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry3Entfernte Bluetooth-Geräte können das Vorhandensein des lokalen Bluetooth-Geräts feststellen, wenn sie eine begrenzte Abfrage durchführen. Dies sollte zum Auffinden von Diensten verwendet werden, die nur für einen begrenzten Zeitraum auffindbar gemacht werden. Dies kann die Erkennung zwischen Spielgeräten beschleunigen, da die Erkennung von Diensten auf Geräten, die sich nicht im Modus "LimitedInquiry" befinden, übersprungen werden kann. In diesem Modus ist das Gerät verbindungsfähig und wird bei Bedarf eingeschaltet. Dieser Modus wird auf Android nicht unterstützt.

Hinweis: Unter macOS ist es nicht möglich, den hostMode() zu setzen. Die gemeldeten Host-Modi sind auf HostPoweredOff und HostConnectable beschränkt.

Hinweis: Unter Windows ist es nicht möglich, hostMode() auf HostDiscoverable oder HostDiscoverableLimitedInquiry einzustellen. Die Verwendung dieser Modi ist gleichbedeutend mit HostConnectable.

Hinweis: Ab Android 13 (API-Level 33) stützt sich der HostPoweredOff-Status auf die nicht-öffentliche Android-API, da die öffentliche veraltet ist, siehe(disable()). Dies kann sich in einer zukünftigen Version von Android ändern.

Hinweis: Zumindest unter Android 12 kann die Bluetooth-Sichtbarkeitseinstellung des Geräts das Ergebnis der Einstellung von HostDiscoverable oder HostConnectable beeinflussen. Wenn zum Beispiel die Sichtbarkeit ausgeschaltet ist, ist es möglicherweise nicht möglich, den Modus HostDiscoverable aufzurufen, sondern es wird stattdessen HostConnectable verwendet. Dies kann sich in zukünftigen Versionen von Android ändern.

enum QBluetoothLocalDevice::Pairing

Diese Aufzählung beschreibt den Pairing-Status zwischen den beiden Bluetooth-Geräten.

KonstanteWertBeschreibung
QBluetoothLocalDevice::Unpaired0Die Bluetooth-Geräte sind nicht gekoppelt.
QBluetoothLocalDevice::Paired1Die Bluetooth-Geräte sind gepaart. Das System fordert den Benutzer zur Autorisierung auf, wenn das entfernte Gerät eine Verbindung zum lokalen Gerät herstellt.
QBluetoothLocalDevice::AuthorizedPaired2Die Bluetooth-Geräte sind gepaart. Das System fordert den Benutzer nicht zur Autorisierung auf, wenn das entfernte Gerät eine Verbindung mit dem lokalen Gerät herstellt.

Dokumentation der Mitgliederfunktionen

[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(QObject *parent = nullptr)

Konstruiert ein QBluetoothLocalDevice mit parent.

Hinweis: Ab Android 12 (API-Level 31) erfordert die Konstruktion dieser Klasse Bluetooth-Laufzeitberechtigungen(BLUETOOTH_SCAN und BLUETOOTH_CONNECT). Wenn die Berechtigungen nicht erteilt werden, ist das Gerät nicht gültig.

Siehe auch isValid().

[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)

Konstruieren Sie ein neues QBluetoothLocalDevice für address. Wenn address standardmäßig konstruiert ist, wählt das resultierende lokale Gerät das lokale Standardgerät aus.

Hinweis: Ab Android 12 (API-Level 31) erfordert die Konstruktion dieser Klasse Bluetooth-Laufzeitberechtigungen(BLUETOOTH_SCAN und BLUETOOTH_CONNECT). Wenn die Berechtigungen nicht erteilt werden, ist das Gerät nicht gültig.

Siehe auch isValid().

[virtual noexcept] QBluetoothLocalDevice::~QBluetoothLocalDevice()

Zerstört die QBluetoothLocalDevice.

QBluetoothAddress QBluetoothLocalDevice::address() const

Gibt die MAC-Adresse dieses Bluetooth-Geräts zurück.

Hinweis: Unter Android gibt diese Funktion ab Android 6.0 immer den konstanten Wert 02:00:00:00:00:00 als lokale Adresse zurück. Der programmatische Zugriff auf die lokale MAC-Adresse des Geräts wurde entfernt.

[static] QList<QBluetoothHostInfo> QBluetoothLocalDevice::allDevices()

Gibt eine Liste aller verfügbaren lokalen Bluetooth-Geräte zurück. Unter macOS gibt es nur das "Standard"-Lokalgerät.

QList<QBluetoothAddress> QBluetoothLocalDevice::connectedDevices() const

Gibt die Liste der verbundenen Geräte zurück. Diese Liste unterscheidet sich von der Liste der aktuell gekoppelten Geräte.

Unter Android und macOS ist es nicht möglich, eine Liste der verbundenen Geräte abzurufen. Es ist nur möglich, auf Änderungen beim (Trennen) der Verbindung zu hören. Der Einfachheit halber überwacht diese Klasse alle Verbindungs- und Trennungsereignisse seit ihrer Instanzierung und gibt beim Aufruf dieser Funktion die aktuelle Liste zurück. Daher ist es möglich, dass diese Funktion kurz nach der Erstellung einer Instanz eine leere Liste zurückgibt.

Siehe auch deviceConnected() und deviceDisconnected().

[signal] void QBluetoothLocalDevice::deviceConnected(const QBluetoothAddress &address)

Dieses Signal wird ausgesendet, wenn das lokale Gerät eine Verbindung zu einem entfernten Gerät mit address herstellt.

Siehe auch deviceDisconnected() und connectedDevices().

[signal] void QBluetoothLocalDevice::deviceDisconnected(const QBluetoothAddress &address)

Dieses Signal wird ausgesendet, wenn das lokale Gerät die Verbindung zu einem entfernten Bluetooth-Gerät mit address trennt.

Siehe auch deviceConnected() und connectedDevices().

[signal, since 6.2] void QBluetoothLocalDevice::errorOccurred(QBluetoothLocalDevice::Error error)

Signal, das ausgegeben wird, wenn beim Pairing ein außergewöhnliches error auftritt.

Diese Funktion wurde in Qt 6.2 eingeführt.

QBluetoothLocalDevice::HostMode QBluetoothLocalDevice::hostMode() const

Gibt den aktuellen Host-Modus dieses lokalen Bluetooth-Geräts zurück. Unter macOS ist dies entweder HostPoweredOff oder HostConnectable.

Siehe auch setHostMode().

[signal] void QBluetoothLocalDevice::hostModeStateChanged(QBluetoothLocalDevice::HostMode state)

Die state des Gastgebers ist auf eine andere HostMode umgezogen.

bool QBluetoothLocalDevice::isValid() const

Gibt true zurück, wenn QBluetoothLocalDevice ein verfügbares lokales Bluetooth-Gerät darstellt; andernfalls wird false zurückgegeben.

Wenn der lokale Bluetooth-Adapter, der durch eine Instanz dieser Klasse repräsentiert wird, aus dem System entfernt wird (z. B. durch Entfernen des zugrundeliegenden Bluetooth-Dongles), wird diese Instanz ungültig. Eine bereits ungültige QBluetoothLocalDevice Instanz bleibt ungültig, auch wenn derselbe Bluetooth-Adapter zum System zurückgebracht wird.

Hinweis: Ab Android 12 (API-Level 31) erfordert die Konstruktion dieser Klasse Bluetooth-Laufzeitberechtigungen(BLUETOOTH_SCAN und BLUETOOTH_CONNECT). Wenn die Berechtigungen nicht erteilt werden, ist das Gerät nicht gültig.

Siehe auch allDevices().

QString QBluetoothLocalDevice::name() const

Gibt den Namen zurück, den der Benutzer diesem Bluetooth-Gerät zugewiesen hat.

[signal] void QBluetoothLocalDevice::pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

Das Pairing oder Unpairing wurde mit address abgeschlossen. Der aktuelle Pairing-Status steht in pairing. Wenn die Pairing-Anforderung nicht erfolgreich war, wird dieses Signal nicht ausgegeben. Das Signal errorOccurred() wird ausgegeben, wenn die Pairing-Anforderung fehlgeschlagen ist. Das Signal wird immer nur für Paarungsanforderungen ausgegeben, die zuvor durch den Aufruf requestPairing() der aktuellen Objektinstanz angefordert wurden.

QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluetoothAddress &address) const

Gibt den aktuellen Bluetooth-Pairing-Status von address zurück, d. h. ob es ungepaart, gepaart oder gepaart und autorisiert ist.

void QBluetoothLocalDevice::powerOn()

Schaltet das Gerät ein, nachdem es in den Zustand hostMode() zurückgekehrt ist, wenn es ausgeschaltet war.

Hinweis: Aufgrund der unterschiedlichen Sicherheitsrichtlinien auf den unterstützten Plattformen kann sich diese Methode auf den verschiedenen Plattformen unterschiedlich verhalten. Zum Beispiel kann das System den Benutzer um eine Bestätigung bitten, bevor es Bluetooth ein- oder ausschaltet. Unter macOS ist es nicht möglich, Bluetooth ein- oder auszuschalten. Einzelheiten entnehmen Sie bitte der plattformspezifischen Bluetooth-Dokumentation.

void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

Setzen Sie den Status pairing mit address. Die Ergebnisse werden durch das Signal pairingFinished() zurückgegeben.

Unter Android und macOS ist AuthorizedPaired nicht möglich und hat das gleiche Verhalten wie Paired. Unter Windows hängt die genaue Entscheidung über den Kopplungsmodus vom Betriebssystem ab.

Unter macOS ist es nicht möglich, ein Gerät zu entpaaren. Wenn Unpaired angefordert wird, wird sofort pairingFinished() ausgegeben, obwohl das Gerät gepaart bleibt. Es ist möglich, das Pairing für ein zuvor ungepaartes Gerät anzufordern. Außerdem hat AuthorizedPaired das gleiche Verhalten wie Paired.

Achtung: Das Erstellen eines Pairings kann einige Minuten dauern und erfordert möglicherweise eine Bestätigung durch den Benutzer.

void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)

Setzt den Host-Modus dieses lokalen Bluetooth-Geräts auf mode.

Einige Vorgänge wie das Ein- oder Ausschalten des Geräts können einige Zeit dauern. Daher sollten nachfolgende Anrufe erst erfolgen, wenn das Signal hostModeStateChanged() die vorherige Anfrage abgeschlossen hat. Wenn dies ignoriert wird, ist das Ergebnis einer solchen Reihe von Aufrufen nicht eindeutig.

Hinweis: Aufgrund der unterschiedlichen Sicherheitsrichtlinien auf den unterstützten Plattformen kann sich diese Methode auf den verschiedenen Plattformen unterschiedlich verhalten. Beispielsweise kann das System den Benutzer um eine Bestätigung bitten, bevor Bluetooth ein- oder ausgeschaltet wird, und es werden möglicherweise nicht alle Host-Modi unterstützt. Unter macOS ist es nicht möglich, die hostMode() programmatisch zu ändern. Ein Benutzer kann Bluetooth nur in den Systemeinstellungen ein- und ausschalten. Unter Windows muss diese Methode vom UI-Thread aus aufgerufen werden, da sie möglicherweise eine Bestätigung des Benutzers erfordert. Bitte lesen Sie die plattformspezifische Bluetooth-Dokumentation für weitere Details.

Siehe auch hostMode().

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.