- class QBluetoothServiceInfo#
QBluetoothServiceInfo
类允许访问蓝牙服务的属性。更多信息…简介#
方法#
def
__init__()
def
attribute()
def
attributes()
定义
contains()
定义
device()
定义
isComplete()
定义
isValid()
定义
setDevice()
注意
此文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们。
详细描述#
QBluetoothServiceInfo
提供有关蓝牙设备提供的服务信息。此外,它还可以用来在本地设备上注册新服务。请注意,这种注册只会影响蓝牙SDP条目。任何监听传入连接的服务器(例如一个RFCOMM服务器)必须在调用registerService()
之前启动。撤销注册必须按照相反的顺序进行。QBluetoothServiceInfo
在传统意义上不是一个值类型。所有的同一服务信息对象的副本都共享相同的数据,因为它们在更改时不会分离。这确保了两份副本可以(取消)注册同一个蓝牙服务。在iOS上,无法使用此类,因为平台没有公开可能允许访问
QBluetoothServiceInfo
相关功能的API。- class AttributeId#
蓝牙服务属性。请参阅蓝牙规范核心规范以获取这些属性的更详细描述。
常数
描述
QBluetoothServiceInfo.ServiceRecordHandle
指定可以从中检索属性的服务记录。
QBluetoothServiceInfo.ServiceClassIds
符合的服务类UUID。最常见的服务类在(
ServiceClassUuid
)中定义QBluetoothServiceInfo.ServiceRecordState
当添加、删除或修改任何其他服务属性时更改属性。
QBluetoothServiceInfo.ServiceId
唯一标识服务的UUID。
QBluetoothServiceInfo.ProtocolDescriptorList
服务使用的协议列表。最常见的协议 Uuid 定义在
ProtocolUuid
QBluetoothServiceInfo.BrowseGroupList
服务所在的浏览组列表。
QBluetoothServiceInfo.LanguageBaseAttributeIdList
支持人类可读属性的语种基础属性 ID 列表。
QBluetoothServiceInfo.ServiceInfoTimeToLive
服务记录预期有效且不变的时间(秒)。
QBluetoothServiceInfo.ServiceAvailability
指示服务可用性的值。
QBluetoothServiceInfo.BluetoothProfileDescriptorList
符合的服务配置文件列表。
QBluetoothServiceInfo.DocumentationUrl
指向服务文档的 URL。
QBluetoothServiceInfo.ClientExecutableUrl
指代可用于利用服务的应用程序位置的 URL。
QBluetoothServiceInfo.IconUrl
表示服务的图标位置的 URL。
QBluetoothServiceInfo.AdditionalProtocolDescriptorList
服务使用的一些附加协议。此属性扩展了
ProtocolDescriptorList
。QBluetoothServiceInfo.PrimaryLanguageBase
主要语言文本描述符的基准索引。
QBluetoothServiceInfo.ServiceName
主要语言中蓝牙服务的名称。
QBluetoothServiceInfo.ServiceDescription
主要语言中蓝牙服务的描述。
QBluetoothServiceInfo.ServiceProvider
提供主要语言蓝牙服务的公司/实体名称。
注意
在 Windows 上,当创建服务时,ServiceClassIds 和 ProtocolDescriptorList 会自动设置为默认值。手动设置这些属性的值将不起作用,并可能导致该平台出现意外的结果。
- class Protocol#
此枚举描述了服务使用的套接字协议。
常数
描述
QBluetoothServiceInfo.UnknownProtocol
服务使用了一个未知的套接字协议。
QBluetoothServiceInfo.L2capProtocol
服务使用 L2CAP 套接字协议。此协议在 Android 上的直接套接字连接不受支持。
QBluetoothServiceInfo.RfcommProtocol
服务使用 RFCOMM 套接字协议。
- __init__(other)#
- 参数:
other –
QBluetoothServiceInfo
构建一个新的
QBluetoothServiceInfo
,它是对other
的复制。两个副本继续共享相同的基本数据,写入时不会分离。
- __init__()
构建一个新的无效的
QBluetoothServiceInfo
;- attribute(attributeId)#
- 参数:
attributeId – int
- 返回类型:
对象
返回属性
attributeId
的值。另请参阅
- attributes()#
- 返回类型:
quint16 列表
返回一个包含
QBluetoothServiceInfo
对象所有属性 ID 的列表。- contains(attributeId)#
- 参数:
attributeId – int
- 返回类型:
布尔值
如果
QBluetoothServiceInfo
对象包含属性attributeId
,则返回 true,否则返回 false。- device()#
- 返回类型:
返回提供该服务的蓝牙设备的地址。
另请参阅
- isComplete()#
- 返回类型:
布尔值
如果
QBluetoothServiceInfo
对象被认为是完整的,则返回 true,否则返回 false。一个完整的
QBluetoothServiceInfo
对象包含一个ProtocolDescriptorList
属性。- isRegistered()#
- 返回类型:
布尔值
如果服务信息已在平台的 Service Discovery Protocol(SDP)实现中注册,则返回 true,否则返回 false。
- isValid()#
- 返回类型:
布尔值
如果
QBluetoothServiceInfo
对象是有效的,则返回 true,否则返回 false。一个无效的
QBluetoothServiceInfo
对象将没有任何属性。- protocolDescriptor(protocol)#
- 参数:
protocol –
ProtocolUuid
- 返回类型:
序列
以协议的
protocol
为参数返回协议参数作为Sequence
。如果
protocol
不受支持,则返回一个空的Sequence
。- protocolServiceMultiplexer()#
- 返回类型:
整型
这是一个便捷函数。对于支持L2CAP协议的服务,返回协议/服务多路复用器;否则返回-1。
此函数等同于从由
attribute
(ProtocolDescriptorList
)返回的Sequence
中提取信息。- registerService([localAdapter=QBluetoothAddress()])#
- 参数:
localAdapter –
QBluetoothAddress
- 返回类型:
布尔值
将此服务注册到平台的发现协议(SDP)实现,以便其他设备在执行服务发现时找到它。如果服务成功注册,则返回true;否则返回false。一旦注册,记录的更改将无法进行。必须注销此服务并重新注册以进行更改。
localAdapter
参数确定应在哪个本地蓝牙适配器下注册此服务。如果localAdapter
是null
,则使用默认蓝牙适配器。如果此服务信息对象已通过本地适配器注册,并且此函数使用不同的本地适配器调用,则将删除以前的注册,并使用新适配器重新注册服务。- removeAttribute(attributeId)#
- 参数:
attributeId – int
从
QBluetoothServiceInfo
对象中移除属性attributeId
。如果服务信息已经注册到平台SDP数据库,则不会更新数据库条目,直到再次调用
registerService()
。- serverChannel()#
- 返回类型:
整型
这是一个便捷函数。对于支持RFCOMM协议的服务,返回服务器通道;否则返回-1。
此函数等同于从由
attribute
返回的Sequence
中提取信息(QBluetootherServiceInfo::ProtocolDescriptorList)。- serviceAvailability()#
- 返回类型:
整型
这是一个便利函数。它等价于调用
ServiceAvailability
)。toUInt().返回服务的可用性。
- serviceClassUuids()#
- 返回类型:
为 QBluetoothUuid 列表
返回一个描述此服务遵循的服务类 UUID 列表。
这是一个便利函数。它等价于调用 attribute(
ServiceClassIds
),然后迭代其QBluetoothUuid
项目。另请参阅
- serviceDescription()#
- 返回类型:
字符串
这是一个便利函数。它等价于调用 attribute(
ServiceDescription
)。toString().返回主语言的service说明。
- serviceName()#
- 返回类型:
字符串
这是一个便利函数。它等价于调用
ServiceName
)。toString().返回主语言的服务名称。
- serviceProvider()#
- 返回类型:
字符串
这是一个便利函数。它等价于调用 attribute(
ServiceProvider
)。toString().返回主语言的服务提供者。
- serviceUuid()#
- 返回类型:
这是一个便利函数。它相当于调用 attribute(
ServiceId
).value<QBluetoothUuid
>().返回服务的自定义UUID。该UUID可能为空。基于蓝牙SIG标准的UUID应通过
serviceClassUuids()
获取。- setAttribute(attributeId, value)#
- 参数:
attributeId – int
value –
Alternative
这是一个便利函数。
将标识为
attributeId
的属性设置为value
。如果服务信息已经与平台的SDP数据库注册,则不会更新数据库条目,直到再次调用
registerService()
。- setAttribute(attributeId, value)
- 参数:
attributeId – int
value –
Sequence
这是一个便利函数。
将标识为
attributeId
的属性设置为value
。如果服务信息已经与平台的SDP数据库注册,则不会更新数据库条目,直到再次调用
registerService()
。- setAttribute(attributeId, value)
- 参数:
attributeId – int
value –
QBluetoothUuid
这是一个便利函数。
将标识为
attributeId
的属性设置为value
。如果服务信息已经与平台的SDP数据库注册,则不会更新数据库条目,直到再次调用
registerService()
。- setAttribute(attributeId, value)
- 参数:
attributeId – int
value – 对象
将标识为
attributeId
的属性设置为value
。如果服务信息已经与平台的SDP数据库注册,则不会更新数据库条目,直到再次调用
registerService()
。- setDevice(info)#
- 参数:
info –
QBluetoothDeviceInfo
将提供此服务的蓝牙设备设置为
device
。另请参阅
- setServiceAvailability(availability)#
- 参数:
availability – int
这是一个便捷函数。它等效于调用
setAttribute
(ServiceAvailability
, availability)。将服务的可用性设置为
availability
。- setServiceDescription(description)#
- 参数:
description – str
这是一个便捷函数。它等效于调用
setAttribute
(ServiceDescription
, description)。将服务描述设置为
description
,以主要语言显示。- setServiceName(name)#
- 参数:
name – str
这是一个便捷函数。它等效于调用
setAttribute
(ServiceName
, name)。将服务名称设置为
name
,以主要语言显示。- setServiceProvider(provider)#
- 参数:
provider – 字符串
这是一个便利函数。它相当于调用
setAttribute
(ServiceProvider
, provider)。在主要语言中将服务提供商设置为
provider
。- setServiceUuid(uuid)#
- 参数:
uuid –
QBluetoothUuid
这是一个便利函数。它相当于调用
setAttribute
(ServiceId
, uuid)。将自定义服务 UUID 设置为
uuid
。此函数不应用于设置标准化服务 UUID。返回
QBluetoothServiceInfo
对象使用的协议。- unregisterService()#
- 返回类型:
布尔值
在平台的 Service Discovery Protocol (SDP) 实现中注销此服务。之后,服务将无法通过服务发现被其他设备找到。
如果服务成功注销,则返回 true,否则返回 false。