QLowEnergyAdvertisingData 类

QLowEnergyAdvertisingData 类表示在蓝牙低功耗广告期间要广播的数据。更多...

头文件 #include <QLowEnergyAdvertisingData>
qmakeQT += bluetooth

公开类型

枚举发现性 { 发现性无,发现性有限,发现性一般 }

公开函数

QLowEnergyAdvertisingData()
QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &其他)
~QLowEnergyAdvertisingData()
QLowEnergyAdvertisingData::Discoverabilitydiscoverability() const
boolincludePowerLevel() const
QStringlocalName() const
QByteArraymanufacturerData() const
quint16manufacturerId() const
QByteArrayrawData() const
QList<QBluetoothUuid>services() const
voidsetDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)
voidsetIncludePowerLevel(bool doInclude)
voidsetLocalName(const QString &name)
voidsetManufacturerData(quint16 id, const QByteArray &data)
voidsetRawData(const QByteArray &data)
voidsetServices(const QList<QBluetoothUuid> &services)
voidswap(QLowEnergyAdvertisingData &other)
QLowEnergyAdvertisingData &operator=(const QLowEnergyAdvertisingData &other)

静态公开成员

booloperator!=(const QLowEnergyAdvertisingData &数据1, const QLowEnergyAdvertisingData &数据2)
booloperator==(const QLowEnergyAdvertisingData &数据1, const QLowEnergyAdvertisingData &数据2)

详细描述

此数据可以包括设备名称、设备提供的GATT服务等。通过此类设置的数据将在调用QLowEnergyController::startAdvertising()时开始广告。此类对象的实例可以表示广告数据包或扫描响应包。

注意:在广告通道中发送的实际数据包不能超过31字节。如果通过此类设置的可变长度数据超过此限制,它将被从包中移除或根据类型截断。在Android上,如果广告数据大于31字节,则广告将失败。在Bluez DBus后端,广告长度限制及其超出时的行为由BlueZ决定;例如,它可能支持扩展广告。为了可预测性最高的行为,请保持广告数据简短。

另请参阅:QLowEnergyAdvertisingParametersQLowEnergyController::startAdvertising

成员类型文档

enum QLowEnergyAdvertisingData::Discoverability

广告设备 discoverability 如通用访问配置文件所定义。

常数描述
QLowEnergyAdvertisingData::DiscoverabilityNone0广告设备不希望被扫描设备发现。
QLowEnergyAdvertisingData::DiscoverabilityLimited1广告设备希望以高优先级被发现。请注意,此模式与白名单使用不兼容。当使用有限的可发现性时,假设QLowEnergyAdvertisingParameters::filterPolicy()的值始终为QLowEnergyAdvertisingParameters::IgnoreWhiteList
QLowEnergyAdvertisingData::DiscoverabilityGeneral2广告设备希望被扫描设备发现。

成员函数文档

QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()

创建此类的新对象。所有值都初始化为其蓝牙低功耗规范中的默认值。

QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)

构造一个新对象,该对象为此类的副本。

[noexcept] QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()

销毁此对象。

QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const

返回广告设备的可发现性模式。默认为DiscoverabilityNone

另请参阅:setDiscoverability

bool QLowEnergyAdvertisingData::includePowerLevel() const

返回是否在广告数据中包含设备的发送功率级别。默认为false

另请参阅:setIncludePowerLevel

[static] quint16 QLowEnergyAdvertisingData::invalidManufacturerId()

返回一个无效的制造商ID。如果将此值设置为制造商ID(默认情况下是如此),则广告数据中不会存在制造商数据。

QString QLowEnergyAdvertisingData::localName() const

返回要宣传的本地设备的名称。

参见 setLocalName()。

QByteArray QLowEnergyAdvertisingData::manufacturerData() const

返回制造商数据。默认情况下为空字节数组。

参见 setManufacturerData()。

quint16 QLowEnergyAdvertisingData::manufacturerId() const

返回制造商ID。默认为 QLowEnergyAdvertisingData::invalidManufacturerId(),表示数据不会被宣传。

QByteArray QLowEnergyAdvertisingData::rawData() const

返回要宣传的用户提供的原始数据。默认为空字节数组。

参见 setRawData()。

QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const

返回要宣传的服务UUID列表。默认情况下,此列表为空。

参见 setServices()。

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

将广告设备的可发现性类型设置为 mode

注意: 可发现性信息只能出现在实际的广告数据包中。如果此对象作为扫描响应数据,对此函数的调用将不会影响发送的扫描响应。

参见 discoverability().

void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)

指定是否在广告数据中包含设备的发射功率级。如果 doIncludetrue,则数据会被包含,否则不会。

参见 includePowerLevel().

void QLowEnergyAdvertisingData::setLocalName(const QString &name)

指定 name 应作为设备的名称广播。如果完整名称无法适合广告数据包,将发送缩写名称,如蓝牙低能耗规范中所述。

在Android上,本地名称无法更改。Android始终使用设备名称。如果此本地名称不为空,Android实现会在广告数据包中包含设备名称;否则将省略设备名称。

参见 localName().

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

设置制造商 ID 和数据。参数 id 是由蓝牙 SIG 分配的公司标识符。参数 data 是任意值。

另请参阅manufacturerData()。

void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)

将要广告的数据设置为 data。如果该值不是空字节数组,它将作为广告数据发送,并且将忽略此对象中的所有其他数据。这可以用来发送非标准数据。

注意:如果 data 的长度超过 31 字节,它将被截断。确保 data 格式正确是调用者的责任。

由于 BlueZ DBus 后端不支持提供原始广告数据,因此不支持在 BlueZ DBus 后端上提供。这可能在未来的版本中发生变化。

另请参阅rawData()。

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

指定应广告 services 中的服务 UUID。如果整个列表不适合数据包,则发送不完整列表,具体如下由蓝牙低功耗规范指定。

另请参阅services()。

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

other 交换此对象。

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

此对象现在是 other 的副本,并返回此对象的新值。

相关非成员函数

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

如果 data1data2 在其公共状态方面不相等,则返回 true,否则返回 false

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

如果 data1data2 在其公共状态方面相等,则返回 true,否则返回 false

© 2024 The Qt Company Ltd. 本文档中包含的贡献为各自所有者的版权。提供的文档是在 Free Software Foundation 发布的 GNU Free Documentation License 版本 1.3 的条款下许可的。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。