En esta página

QLowEnergyAdvertisingData Class

La clase QLowEnergyAdvertisingData representa los datos a emitir durante la publicidad Bluetooth Low Energy. Más...

Cabecera: #include <QLowEnergyAdvertisingData>
CMake: find_package(Qt6 REQUIRED COMPONENTS Bluetooth)
target_link_libraries(mytarget PRIVATE Qt6::Bluetooth)
qmake: QT += bluetooth

Tipos Públicos

enum Discoverability { DiscoverabilityNone, DiscoverabilityLimited, DiscoverabilityGeneral }

Funciones Públicas

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)

Miembros públicos estáticos

bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)

Descripción detallada

Estos datos pueden incluir el nombre del dispositivo, los servicios GATT que ofrece el dispositivo, etc. Los datos establecidos mediante esta clase se utilizarán cuando se inicie la publicidad llamando a QLowEnergyController::startAdvertising(). Los objetos de esta clase pueden representar un paquete de Datos Publicitarios o un paquete de Respuesta de Escaneo.

Limitaciones de los datos publicitarios

La longitud máxima de los datos publicitarios depende del dispositivo bluetooth y de la pila bluetooth de la plataforma. Para obtener la máxima compatibilidad, se recomienda limitar el tamaño de los datos publicitarios al límite de publicidad heredado de 31 bytes.

Si los datos de longitud variable establecidos a través de esta clase superan el límite admitido, el comportamiento dependerá de la implementación de la pila bluetooth subyacente. Las posibilidades más típicas son

  • los datos extra pueden ser truncados o completamente omitidos;
  • la publicidad no se inicia.

Por ejemplo, en Android, la publicidad fallará si los datos publicitarios superan los 31 bytes. En el backend DBus de BlueZ, el límite de longitud de la publicidad y el comportamiento cuando se excede depende de BlueZ; puede, por ejemplo, soportar publicidad extendida, o puede fallar al iniciar la publicidad.

Véase también QLowEnergyAdvertisingParameters y QLowEnergyController::startAdvertising().

Documentación de tipos de miembros

enum QLowEnergyAdvertisingData::Discoverability

La detectabilidad del dispositivo publicitario definida por el Perfil de Acceso Genérico.

ConstanteValorDescripción
QLowEnergyAdvertisingData::DiscoverabilityNone0El dispositivo anunciante no desea que lo descubran los dispositivos de exploración.
QLowEnergyAdvertisingData::DiscoverabilityLimited1El dispositivo anunciante desea ser detectable con una prioridad alta. Tenga en cuenta que este modo no es compatible con el uso de una lista blanca. Se supone que el valor de QLowEnergyAdvertisingParameters::filterPolicy() es siempre QLowEnergyAdvertisingParameters::IgnoreWhiteList cuando se utiliza la detectabilidad limitada.
QLowEnergyAdvertisingData::DiscoverabilityGeneral2El dispositivo anunciante desea ser localizable por los dispositivos de exploración.

Documentación de las funciones miembro

QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()

Crea un nuevo objeto de esta clase. Todos los valores se inicializan a sus valores predeterminados de acuerdo con la especificación Bluetooth Low Energy.

QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)

Construye un nuevo objeto de esta clase que es una copia de other.

[noexcept] QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()

Destruye este objeto.

QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const

Devuelve el modo de detectabilidad del dispositivo anunciante. El valor predeterminado es DiscoverabilityNone.

Véase también setDiscoverability().

bool QLowEnergyAdvertisingData::includePowerLevel() const

Devuelve si se debe incluir el nivel de potencia de transmisión del dispositivo en los datos publicitarios. El valor predeterminado es false.

Véase también setIncludePowerLevel().

[static] quint16 QLowEnergyAdvertisingData::invalidManufacturerId()

Devuelve un identificador de fabricante no válido. Si este valor se establece como el id del fabricante (que es por defecto), no habrá datos del fabricante presentes en los datos de publicidad.

QString QLowEnergyAdvertisingData::localName() const

Devuelve el nombre del dispositivo local que se va a anunciar.

Véase también setLocalName().

QByteArray QLowEnergyAdvertisingData::manufacturerData() const

Devuelve los datos del fabricante. El valor predeterminado es una matriz de bytes vacía.

Véase también setManufacturerData().

quint16 QLowEnergyAdvertisingData::manufacturerId() const

Devuelve el identificador del fabricante. El valor predeterminado es QLowEnergyAdvertisingData::invalidManufacturerId(), lo que significa que los datos no se anunciarán.

QByteArray QLowEnergyAdvertisingData::rawData() const

Devuelve los datos brutos proporcionados por el usuario que se van a anunciar. El valor predeterminado es una matriz de bytes vacía.

Véase también setRawData().

QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const

Devuelve la lista de UUID de servicio que se anunciarán. Por defecto, esta lista está vacía.

Véase también setServices().

void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)

Establece el tipo de detectabilidad del dispositivo publicitario en mode.

Nota: La información de descubribilidad sólo puede aparecer en un paquete de datos publicitario real. Si este objeto actúa como datos de respuesta de exploración, una llamada a esta función no tendrá ningún efecto sobre la respuesta de exploración enviada.

Véase también discoverability().

void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)

Especifica si se incluye el nivel de potencia de transmisión del dispositivo en los datos publicitarios. Si doInclude es true, se incluirán los datos; de lo contrario, no.

Véase también includePowerLevel().

void QLowEnergyAdvertisingData::setLocalName(const QString &name)

Especifica que name debe emitirse como nombre del dispositivo. Si el nombre completo no cabe en el paquete de datos publicitarios, se envía un nombre abreviado, como se describe en la especificación Bluetooth Low Energy.

En Android, el nombre local no se puede cambiar. Android siempre utiliza el nombre del dispositivo. Si este nombre local no está vacío, la implementación de Android incluye el nombre del dispositivo en el paquete publicitario; de lo contrario, el nombre del dispositivo se omite en el paquete publicitario.

Véase también localName().

void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)

Establece el identificador y los datos del fabricante. El parámetro id es un identificador de empresa asignado por Bluetooth SIG. El parámetro data es un valor arbitrario.

Nota: macOS e iOS no admiten la publicidad del id o los datos del fabricante, por lo que los parámetros proporcionados se ignorarán en estas plataformas.

Véase también manufacturerData().

void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)

Establece los datos que se anunciarán en data. Si el valor no es una matriz de bytes vacía, se enviará tal cual como los datos de publicidad y se ignorarán todos los demás datos de este objeto. Puede utilizarse para enviar datos no estándar.

Nota: Si data tiene más de 31 bytes, se truncará. Es responsabilidad de quien llama asegurarse de que data está bien formado.

La configuración de datos publicitarios sin procesar sólo se admite en el backend Linux Bluetooth Kernel API. Otros backends no permiten especificar los datos publicitarios sin procesar como un campo global.

Véase también rawData().

void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)

Especifica que se deben anunciar los UUID de servicio en services. Si la lista completa no cabe en el paquete, se envía una lista incompleta, tal como se especifica en la especificación Bluetooth Low Energy.

Véase también services().

[noexcept] void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)

Intercambia este objeto con other.

QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)

Hace de este objeto una copia de other y devuelve el nuevo valor de este objeto.

No miembros relacionados

bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)

Devuelve true si data1 y data2 no son iguales con respecto a su estado público, en caso contrario devuelve false.

bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)

Devuelve true si data1 y data2 son iguales con respecto a su estado público, en caso contrario devuelve false.

© 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.