- class QLowEnergyAdvertisingData#
QLowEnergyAdvertisingData
类表示在低功耗蓝牙广告期间广播的数据。 更多…概要#
方法#
def
__init__()
定义
localName()
定义
__ne__()
定义
__eq__()
定义
rawData()
定义
services()
定义
setRawData()
定义
swap()
静态函数#
注意
本文档可能包含从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)#
- 参数:
other –
QLowEnergyAdvertisingData
构建一个新的此类对象,它是
other
的副本。- __init__()
创建一个新的此类对象。所有值都根据蓝牙低功耗规范初始化为其默认值。
- discoverability()#
- 返回类型:
返回广告设备的可发现性模式。默认为
DiscoverabilityNone
。另请参阅
- includePowerLevel()#
- 返回类型:
bool
返回是否在广告数据中包含设备的传输功率等级。默认为
false
。- 静态无效制造商ID(无参数)#
- 返回类型:
int
返回一个无效的制造商ID。如果将此值设置为制造商ID(默认情况下,它是设置为的),则广告数据中不会存在制造商数据。
- localName(无参数)#
- 返回类型:
str
返回要广告的本地设备名称。
另请参阅
- manufacturerData(无参数)#
- 返回类型:
返回制造商数据。默认为空字节数组。
- manufacturerId(无参数)#
- 返回类型:
int
返回制造商ID。默认是
invalidManufacturerId()
,这意味着数据不会被广告。- __ne__( b )#
- 参数:
- 返回类型:
bool
如果data1和data2的公共状态不等,返回
true
,否则返回false
。- __eq__( b )#
- 参数:
- 返回类型:
bool
如果data1和data2的公共状态相等,返回
true
,否则返回false
。- rawData(无参数)#
- 返回类型:
返回要广告的用户提供的原始数据。默认为空字节数组。
另请参阅
- services(无参数)#
- 返回类型:
一个QBluetoothUuid的列表
返回要广告的服务UUID列表。默认情况下,此列表为空。
另请参阅
- setDiscoverability( mode )#
- 参数:
模式 –
Discoverability
将广告设备的可发现性类型设置为
mode
。- setIncludePowerLevel(doInclude)#
- 参数:
doInclude – bool
指定是否在广告数据中包含设备的发射功率等级。如果
doInclude
为true
,则会包含数据,否则不会。另请参阅
- setLocalName(name)#
- 参数:
name – str
指定应将
name
广播为设备的名称。如果完整名称无法放入广告数据包中,则发送缩写名称,如蓝牙低功耗规范所述。在安卓上,无法更改本地名称。安卓始终使用设备名称。如果此本地名称不为空,安卓实现将在广告数据包中包含设备名称;否则从广告数据包中省略设备名称。
另请参阅
- setManufacturerData(id, data)#
- 参数:
id – int
data –
QByteArray
设置制造商ID和数据。
id
参数是由蓝牙SIG分配的公司标识符。参数data
是一个任意值。另请参阅
- setRawData(data)#
- 参数:
data –
QByteArray
将要广告的数据设置为
data
。如果值不是空字节数组,它将直接作为广告数据发送,而此对象中的所有其他数据都将被忽略。这可以用来发送非标准数据。注意
如果
data
长度超过31个字节,则将被截断。确保data
格式良好的责任在于调用者。在BlueZ DBus后端不支持提供原始广告数据,因为BlueZ不支持它。这可能在未来的版本中改变。
另请参阅
- setServices(services)#
- 参数:
services – .list of QBluetoothUuid
指定在
services
中的服务 UUID 应该被广播。如果整个列表放不进数据包,则按照蓝牙低能耗规范发送不完整列表。另请参阅
- swap(other)#
- 参数:
other –
QLowEnergyAdvertisingData
与
other
交换该对象。