class QLowEnergyAdvertisingData#

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

概要#

方法#

静态函数#

注意

本文档可能包含从C++到Python自动翻译的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告知我们。

详细描述#

此数据可以包括设备名称、设备提供的GATT服务等信息。通过调用startAdvertising()启动广告时,将通过此类设置的数据使用。此类对象可以表示广告数据包或扫描响应数据包。

注意

在广播通道上实际发送的数据包不能包含超过31字节。如果通过此类处理的变长数据集超过该限制,它将被排除在包之外或截断,具体取决于类型。在Android上,如果广告数据超过31字节,广告将失败。在Bluez DBus后端,广告长度限制及其超出范围时的行为由BlueZ决定,例如可能支持扩展广播。为了获得最可预测的行为,请保持广告数据较短。

class Discoverability#

根据通用访问配置文件定义的广告设备的可发现性。

常量

描述

QLowEnergyAdvertisingData.DiscoverabilityNone

广告设备不希望被扫描设备发现。

QLowEnergyAdvertisingData.DiscoverabilityLimited

广告设备希望以高优先级被发现。注意,此模式与使用白名单不兼容。当使用有限可发现性时,假定filterPolicy()的值为IgnoreWhiteList

QLowEnergyAdvertisingData.DiscoverabilityGeneral

广告设备希望被扫描设备发现。

__init__(other)#
参数:

otherQLowEnergyAdvertisingData

构建一个新的此类对象,它是other的副本。

__init__()

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

discoverability()#
返回类型:

Discoverability

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

另请参阅

setDiscoverability()

includePowerLevel()#
返回类型:

bool

返回是否在广告数据中包含设备的传输功率等级。默认为false

另请参阅

setIncludePowerLevel()

静态

无效制造商ID(无参数)#
返回类型:

int

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

localName(无参数)#
返回类型:

str

返回要广告的本地设备名称。

另请参阅

setLocalName()

manufacturerData(无参数)#
返回类型:

QByteArray

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

另请参阅

setManufacturerData()

manufacturerId(无参数)#
返回类型:

int

返回制造商ID。默认是invalidManufacturerId(),这意味着数据不会被广告。

__ne__( b )#
参数:

bQLowEnergyAdvertisingData

返回类型:

bool

如果data1和data2的公共状态不等,返回true,否则返回false

__eq__( b )#
参数:

bQLowEnergyAdvertisingData

返回类型:

bool

如果data1和data2的公共状态相等,返回true,否则返回false

rawData(无参数)#
返回类型:

QByteArray

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

另请参阅

setRawData()

services(无参数)#
返回类型:

一个QBluetoothUuid的列表

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

另请参阅

setServices()

setDiscoverability( mode )#
参数:

模式Discoverability

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

注意

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

另请参阅

discoverability()

setIncludePowerLevel(doInclude)#
参数:

doInclude – bool

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

另请参阅

includePowerLevel()

setLocalName(name)#
参数:

name – str

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

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

另请参阅

localName()

setManufacturerData(id, data)#
参数:

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

另请参阅

manufacturerData()

setRawData(data)#
参数:

dataQByteArray

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

注意

如果 data 长度超过31个字节,则将被截断。确保 data 格式良好的责任在于调用者。

在BlueZ DBus后端不支持提供原始广告数据,因为BlueZ不支持它。这可能在未来的版本中改变。

另请参阅

rawData()

setServices(services)#
参数:

services – .list of QBluetoothUuid

指定在 services 中的服务 UUID 应该被广播。如果整个列表放不进数据包,则按照蓝牙低能耗规范发送不完整列表。

另请参阅

services()

swap(other)#
参数:

otherQLowEnergyAdvertisingData

other 交换该对象。