QLowEnergyAdvertisingData 类
QLowEnergyAdvertisingData 类表示在蓝牙低功耗广告期间要广播的数据。更多...
头文件 | #include <QLowEnergyAdvertisingData> |
qmake | QT += bluetooth |
- 包括所有成员列表,包括继承成员
- QLowEnergyAdvertisingData 是 隐式共享类 的一部分。
公开类型
枚举 | 发现性 { 发现性无,发现性有限,发现性一般 } |
公开函数
QLowEnergyAdvertisingData() | |
QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &其他) | |
~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) |
静态公开成员
quint16 | invalidManufacturerId() |
相关非成员
bool | operator!=(const QLowEnergyAdvertisingData &数据1, const QLowEnergyAdvertisingData &数据2) |
bool | operator==(const QLowEnergyAdvertisingData &数据1, const QLowEnergyAdvertisingData &数据2) |
详细描述
此数据可以包括设备名称、设备提供的GATT服务等。通过此类设置的数据将在调用QLowEnergyController::startAdvertising()时开始广告。此类对象的实例可以表示广告数据包或扫描响应包。
注意:在广告通道中发送的实际数据包不能超过31字节。如果通过此类设置的可变长度数据超过此限制,它将被从包中移除或根据类型截断。在Android上,如果广告数据大于31字节,则广告将失败。在Bluez DBus后端,广告长度限制及其超出时的行为由BlueZ决定;例如,它可能支持扩展广告。为了可预测性最高的行为,请保持广告数据简短。
另请参阅:QLowEnergyAdvertisingParameters 和 QLowEnergyController::startAdvertising。
成员类型文档
enum QLowEnergyAdvertisingData::Discoverability
广告设备 discoverability 如通用访问配置文件所定义。
常数 | 值 | 描述 |
---|---|---|
QLowEnergyAdvertisingData::DiscoverabilityNone | 0 | 广告设备不希望被扫描设备发现。 |
QLowEnergyAdvertisingData::DiscoverabilityLimited | 1 | 广告设备希望以高优先级被发现。请注意,此模式与白名单使用不兼容。当使用有限的可发现性时,假设QLowEnergyAdvertisingParameters::filterPolicy()的值始终为QLowEnergyAdvertisingParameters::IgnoreWhiteList。 |
QLowEnergyAdvertisingData::DiscoverabilityGeneral | 2 | 广告设备希望被扫描设备发现。 |
成员函数文档
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)
指定是否在广告数据中包含设备的发射功率级。如果 doInclude 为 true
,则数据会被包含,否则不会。
参见 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)
如果 data1 和 data2 在其公共状态方面不相等,则返回 true
,否则返回 false
。
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
如果 data1 和 data2 在其公共状态方面相等,则返回 true
,否则返回 false
。
© 2024 The Qt Company Ltd. 本文档中包含的贡献为各自所有者的版权。提供的文档是在 Free Software Foundation 发布的 GNU Free Documentation License 版本 1.3 的条款下许可的。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。