QLowEnergyAdvertisingData Class
Die Klasse „QLowEnergyAdvertisingData“ repräsentiert die Daten, die während der Bluetooth-Low-Energy-Advertising-Übertragung gesendet werden sollen. Mehr...
| Header: | #include <QLowEnergyAdvertisingData> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Bluetooth) target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake: | QT += bluetooth |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QLowEnergyAdvertisingData gehört zu den implizit gemeinsam genutzten Klassen.
Öffentliche Typen
| enum | Discoverability { DiscoverabilityNone, DiscoverabilityLimited, DiscoverabilityGeneral } |
Öffentliche Funktionen
| QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other) | |
| ~QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData::Discoverability | discoverability() const |
| bool | includePowerLevel() const |
| QString | localName() const |
| QByteArray | manufacturerData() const |
| quint16 | manufacturerId() const |
| QByteArray | rawData() const |
| QList<QBluetoothUuid> | services() const |
| void | setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode) |
| void | setIncludePowerLevel(bool doInclude) |
| void | setLocalName(const QString &name) |
| void | setManufacturerData(quint16 id, const QByteArray &data) |
| void | setRawData(const QByteArray &data) |
| void | setServices(const QList<QBluetoothUuid> &services) |
| void | swap(QLowEnergyAdvertisingData &other) |
| QLowEnergyAdvertisingData & | operator=(const QLowEnergyAdvertisingData &other) |
Statische öffentliche Mitglieder
| quint16 | invalidManufacturerId() |
Verwandte Nicht-Mitglieder
| bool | operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
| bool | operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
Detaillierte Beschreibung
Diese Daten können den Gerätenamen, die vom Gerät angebotenen GATT-Dienste usw. umfassen. Die über diese Klasse festgelegten Daten werden verwendet, wenn die Werbung durch den Aufruf von ` QLowEnergyController::startAdvertising()` gestartet wird. Objekte dieser Klasse können ein „Advertising Data“-Paket oder ein „Scan Response“-Paket darstellen.
Einschränkungen bei den Advertising-Daten
Die maximale Länge der Advertising-Daten hängt vom Bluetooth-Gerät und dem Bluetooth-Stack der Plattform ab. Um eine maximale Kompatibilität zu gewährleisten, wird empfohlen, die Größe der Advertising-Daten auf das bisherige Limit von 31 Byte zu beschränken.
Wenn der über diese Klasse festgelegte Datensatz mit variabler Länge das unterstützte Limit überschreitet, hängt das Verhalten von der zugrunde liegenden Implementierung des Bluetooth-Stacks ab. Die typischsten Möglichkeiten sind:
- Die überschüssigen Daten können gekürzt oder vollständig weggelassen werden;
- die Werbung kann nicht gestartet werden.
Auf Android schlägt die Werbung beispielsweise fehl, wenn die Werbedaten größer als 31 Byte sind. Beim BlueZ-DBus-Backend liegen die Begrenzung der Werbelänge und das Verhalten bei Überschreitung im Ermessen von BlueZ; es kann beispielsweise erweiterte Werbung unterstützen oder die Werbung lässt sich nicht starten.
Siehe auch QLowEnergyAdvertisingParameters und QLowEnergyController::startAdvertising().
Dokumentation zum Mitgliedstyp
enum QLowEnergyAdvertisingData::Discoverability
Die Auffindbarkeit des Werbegeräts gemäß der Definition im Generic Access Profile.
| Konstante | Wert | Beschreibung |
|---|---|---|
QLowEnergyAdvertisingData::DiscoverabilityNone | 0 | Das Advertising-Gerät möchte von Scanning-Geräten nicht erkannt werden. |
QLowEnergyAdvertisingData::DiscoverabilityLimited | 1 | Das Advertising-Gerät möchte mit hoher Priorität auffindbar sein. Beachten Sie, dass dieser Modus nicht mit der Verwendung einer Whitelist kompatibel ist. Der Wert von „ QLowEnergyAdvertisingParameters::filterPolicy()“ wird bei eingeschränkter Auffindbarkeit immer als „ QLowEnergyAdvertisingParameters::IgnoreWhiteList “ angenommen. |
QLowEnergyAdvertisingData::DiscoverabilityGeneral | 2 | Das sendende Gerät möchte von Scannern erkannt werden. |
Dokumentation der Mitgliedsfunktionen
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()
Erstellt ein neues Objekt dieser Klasse. Alle Werte werden gemäß der Bluetooth Low Energy-Spezifikation auf ihre Standardwerte initialisiert.
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)
Erstellt ein neues Objekt dieser Klasse, das eine Kopie von „ other “ ist.
[noexcept] QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()
Zerstört dieses Objekt.
QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const
Gibt den Erkennbarkeitsmodus des Werbegeräts zurück. Der Standardwert ist „ DiscoverabilityNone “.
Siehe auch „ setDiscoverability()“.
bool QLowEnergyAdvertisingData::includePowerLevel() const
Gibt zurück, ob die Sendeleistung des Geräts in die Advertising-Daten aufgenommen werden soll. Der Standardwert ist „ false “.
Siehe auch „ setIncludePowerLevel()“.
[static] quint16 QLowEnergyAdvertisingData::invalidManufacturerId()
Gibt eine ungültige Hersteller-ID zurück. Wenn dieser Wert als Hersteller-ID festgelegt ist (was standardmäßig der Fall ist), sind in den Werbedaten keine Herstellerdaten enthalten.
QString QLowEnergyAdvertisingData::localName() const
Gibt den Namen des lokalen Geräts zurück, das bekannt gegeben werden soll.
Siehe auch „ setLocalName()“.
QByteArray QLowEnergyAdvertisingData::manufacturerData() const
Gibt die Herstellerdaten zurück. Der Standardwert ist ein leeres Byte-Array.
Siehe auch „ setManufacturerData()“.
quint16 QLowEnergyAdvertisingData::manufacturerId() const
Gibt die Hersteller-ID zurück. Der Standardwert ist „ QLowEnergyAdvertisingData::invalidManufacturerId()“, was bedeutet, dass die Daten nicht veröffentlicht werden.
QByteArray QLowEnergyAdvertisingData::rawData() const
Gibt die vom Benutzer bereitgestellten Rohdaten zurück, die veröffentlicht werden sollen. Der Standardwert ist ein leeres Byte-Array.
Siehe auch ` setRawData()`.
QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const
Gibt die Liste der zu veröffentlichenden Dienst-UUIDs zurück. Standardmäßig ist diese Liste leer.
Siehe auch ` setServices()`.
void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)
Legt den Erkennbarkeitstyp des Werbegeräts auf „ mode “ fest.
Hinweis: Informationenzur Erkennbarkeit können nur in einem tatsächlichen Werbedatenpaket erscheinen. Wenn dieses Objekt als Scan-Antwortdaten fungiert, hat ein Aufruf dieser Funktion keine Auswirkungen auf die gesendete Scan-Antwort.
Siehe auch „ discoverability()“.
void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)
Gibt an, ob die Sendeleistung des Geräts in die Advertising-Daten aufgenommen werden soll. Wenn „ doInclude “ auf „ true “ gesetzt ist, werden die Daten aufgenommen, andernfalls nicht.
Siehe auch includePowerLevel().
void QLowEnergyAdvertisingData::setLocalName(const QString &name)
Legt fest, dass „ name “ als Name des Geräts gesendet werden soll. Passt der vollständige Name nicht in das Advertising-Datenpaket, wird ein abgekürzter Name gesendet, wie in der Bluetooth Low Energy-Spezifikation beschrieben.
Unter Android kann der lokale Name nicht geändert werden. Android verwendet immer den Gerätenamen. Ist dieser lokale Name nicht leer, fügt die Android-Implementierung den Gerätenamen in das Advertising-Paket ein; andernfalls wird der Gerätename im Advertising-Paket weggelassen.
Siehe auch localName().
void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)
Legt die Hersteller-ID und die Daten fest. Der Parameter „ id “ ist eine von der Bluetooth SIG zugewiesene Unternehmenskennung. Der Parameter „ data “ ist ein beliebiger Wert.
Hinweis: macOS und iOS unterstützen die Übertragung der Hersteller-ID oder der Daten nicht, daher werden die angegebenen Parameter auf diesen Plattformen ignoriert.
Siehe auch manufacturerData().
void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)
Legt die Daten fest, die an data gesendet werden sollen. Wenn der Wert kein leeres Byte-Array ist, wird er unverändert als Übermittlungsdaten gesendet, und alle anderen Daten in diesem Objekt werden ignoriert. Dies kann zum Senden von nicht standardmäßigen Daten verwendet werden.
Hinweis: Ist „ data “ länger als 31 Bytes, wird es gekürzt. Es liegt in der Verantwortung des Aufrufenden, sicherzustellen, dass „ data “ korrekt formatiert ist.
Das Festlegen von Rohdaten für die Werbung wird nur im Linux-Bluetooth-Kernel-API-Backend unterstützt. Andere Backends erlauben es nicht, die Rohdaten für die Werbung als globales Feld anzugeben.
Siehe auch rawData().
void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)
Legt fest, dass die Dienst-UUIDs unter services bekannt gegeben werden sollen. Wenn die gesamte Liste nicht in das Paket passt, wird gemäß der Bluetooth Low Energy-Spezifikation eine unvollständige Liste gesendet.
Siehe auch „ services“ ().
[noexcept] void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)
Tauscht dieses Objekt mit „ other “ aus.
QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)
Erstellt eine Kopie von „ other “ und gibt den neuen Wert dieses Objekts zurück.
Verwandte Nicht-Mitglieder
bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
Gibt „ true “ zurück, wenn „ data1 “ und „ data2 “ hinsichtlich ihres öffentlichen Zustands nicht gleich sind; andernfalls wird „ false “ zurückgegeben.
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
Gibt „ true “ zurück, wenn „ data1 “ und „ data2 “ hinsichtlich ihres öffentlichen Zustands gleich sind; andernfalls wird „ false “ zurückgegeben.
© 2026 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.