QLowEnergyAdvertisingData Class
Die Klasse QLowEnergyAdvertisingData repräsentiert die Daten, die während der Bluetooth Low Energy Werbung übertragen werden. Mehr...
Header: | #include <QLowEnergyAdvertisingData> |
qmake: | QT += bluetooth |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QLowEnergyAdvertisingData ist Teil von Implicitly Shared Classes.
Ö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. enthalten. Die über diese Klasse eingestellten 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.
Hinweis: Die eigentlichen Datenpakete, die über den Advertising-Kanal gesendet werden, können nicht mehr als 31 Bytes enthalten. Wenn die Daten mit variabler Länge, die über diese Klasse gesendet werden, diese Grenze überschreiten, werden sie, je nach Typ, aus dem Paket herausgelassen oder abgeschnitten. Unter Android schlägt die Werbung fehl, wenn die Werbedaten größer als 31 Byte sind. Auf dem Bluez DBus-Backend liegt das Limit für die Werbelänge und das Verhalten beim Überschreiten dieses Limits bei BlueZ; es kann zum Beispiel erweiterte Werbung unterstützen. Um ein möglichst vorhersehbares Verhalten zu erreichen, sollten die Werbedaten kurz gehalten werden.
Siehe auch QLowEnergyAdvertisingParameters und QLowEnergyController::startAdvertising().
Dokumentation der Mitgliedstypen
enum QLowEnergyAdvertisingData::Discoverability
Die Auffindbarkeit des werbenden Geräts, wie im generischen Zugangsprofil definiert.
Konstante | Wert | Beschreibung |
---|---|---|
QLowEnergyAdvertisingData::DiscoverabilityNone | 0 | Das werbende Gerät möchte nicht durch scannende Geräte auffindbar sein. |
QLowEnergyAdvertisingData::DiscoverabilityLimited | 1 | Das werbende Gerät möchte mit einer hohen 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 Erkennbarkeit immer als QLowEnergyAdvertisingParameters::IgnoreWhiteList angenommen. |
QLowEnergyAdvertisingData::DiscoverabilityGeneral | 2 | Das werbende Gerät möchte von scannenden Geräten auffindbar sein. |
Dokumentation der Mitgliedsfunktionen
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()
Erzeugt ein neues Objekt dieser Klasse. Alle Werte werden auf ihre Standardwerte gemäß der Bluetooth Low Energy Spezifikation initialisiert.
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)
Konstruiert 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 werbenden Geräts zurück. Die Vorgabe ist DiscoverabilityNone.
Siehe auch setDiscoverability().
bool QLowEnergyAdvertisingData::includePowerLevel() const
Gibt zurück, ob der Sendeleistungspegel des Geräts in den Werbedaten enthalten sein soll. Die Vorgabe ist false
.
Siehe auch setIncludePowerLevel().
[static]
quint16 QLowEnergyAdvertisingData::invalidManufacturerId()
Gibt eine ungültige Herstellerkennung zurück. Wenn dieser Wert als Herstellerkennung festgelegt ist (was standardmäßig der Fall ist), sind in den Werbedaten keine Herstellerdaten vorhanden.
QString QLowEnergyAdvertisingData::localName() const
Gibt den Namen des lokalen Geräts zurück, das beworben werden soll.
Siehe auch setLocalName().
QByteArray QLowEnergyAdvertisingData::manufacturerData() const
Gibt die Herstellerdaten zurück. Die Vorgabe 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 bekannt gegeben werden.
QByteArray QLowEnergyAdvertisingData::rawData() const
Gibt die vom Benutzer bereitgestellten Rohdaten zurück, die bekannt gegeben werden sollen. Die Vorgabe ist ein leeres Byte-Array.
Siehe auch setRawData().
QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const
Gibt die Liste der anzuzeigenden Dienst-UUIDs zurück. Standardmäßig ist diese Liste leer.
Siehe auch setServices().
void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)
Setzt den Erkennbarkeitstyp des Werbegeräts auf mode.
Hinweis: Erkennbarkeitsinformationen können nur in einem tatsächlichen Werbedatenpaket erscheinen. Wenn dieses Objekt als Scan-Antwortdaten fungiert, hat ein Aufruf dieser Funktion keine Auswirkung auf die gesendete Scan-Antwort.
Siehe auch discoverability().
void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)
Gibt an, ob der Sendeleistungspegel des Geräts in den Werbedaten enthalten sein soll. Wenn doInclude gleich true
ist, werden die Daten einbezogen, andernfalls werden sie nicht einbezogen.
Siehe auch includePowerLevel().
void QLowEnergyAdvertisingData::setLocalName(const QString &name)
Gibt an, dass name als Name des Geräts gesendet werden soll. Wenn der vollständige Name nicht in das Werbedatenpaket passt, 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. Wenn dieser lokale Name nicht leer ist, fügt die Android-Implementierung den Gerätenamen in das Anzeigenpaket ein; andernfalls wird der Gerätename im Anzeigenpaket weggelassen.
Siehe auch localName().
void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)
Legt die Herstellerkennung und die Daten fest. Der Parameter id ist eine Unternehmenskennung, wie sie von der Bluetooth SIG zugewiesen wird. Der Parameter data ist ein beliebiger Wert.
Hinweis: macOS und iOS unterstützen nicht die Anzeige von Hersteller-ID oder -daten, daher werden die angegebenen Parameter auf diesen Plattformen ignoriert.
Siehe auch manufacturerData().
void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)
Legt die anzuzeigenden Daten auf data fest. Wenn der Wert kein leeres Byte-Array ist, wird er unverändert als Werbedaten gesendet und alle anderen Daten in diesem Objekt werden ignoriert. Dies kann verwendet werden, um nicht standardisierte Daten zu senden.
Hinweis: Wenn data länger als 31 Bytes ist, wird es abgeschnitten. Es liegt in der Verantwortung des Aufrufers, sicherzustellen, dass data wohlgeformt ist.
Das Setzen von Rohdaten für die Werbung wird nur vom Linux Bluetooth Kernel API Backend unterstützt. Andere Backends erlauben es nicht, die rohen Werbedaten als globales Feld anzugeben.
Siehe auch rawData().
void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)
Gibt an, dass die Dienst-UUIDs in services bekannt gegeben werden sollen. Wenn die gesamte Liste nicht in das Paket passt, wird eine unvollständige Liste gesendet, wie in der Bluetooth Low Energy Spezifikation angegeben.
Siehe auch services().
[noexcept]
void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)
Tauscht dieses Objekt mit other aus.
QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)
Macht dieses Objekt zu einer 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 in Bezug auf ihren öffentlichen Zustand nicht gleich sind, andernfalls false
.
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
Gibt true
zurück, wenn data1 und data2 in Bezug auf ihren öffentlichen Zustand gleich sind, andernfalls false
.
© 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.