- class QBluetoothPermission#
访问蓝牙外设。更多…
新版本6.5.
概述#
方法#
def
__init__()
def
swap()
注意
此文档可能包含从C++自动转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译中的问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建票据来告诉我们。
详细描述#
要求#
要请求在运行时请求此权限,必须在构建时做以下平台特定使用声明:
平台
类型
苹果
使用描述
NSBluetoothAlwaysUsageDescription
安卓
uses-permission
:ref:` <Application-Permissions>`截至 Android 11 (API 级别 < 31)
android.permission.BLUETOOTH
android.permission.ACCESS_FINE_LOCATION
从 Android 12 (API 级别 >= 31) 开始
android.permission.BLUETOOTH_ADVERTISE
android.permission.BLUETOOTH_CONNECT
android.permission.BLUETOOTH_SCAN
android.permission.ACCESS_FINE_LOCATION
请参考如何在项目中添加它们的具体使用声明类型。
注意
目前,在 Android 上,请求
android.permission.ACCESS_FINE_LOCATION
许可权限时,会同时请求蓝牙权限。这是蓝牙正常工作的必要条件,除非应用程序在应用程序清单中提供强烈断言,表明它不使用蓝牙来确定物理位置。这种权限耦合可能会在未来改变。参见
- class CommunicationMode#
(继承自
enum.Flag
) 此枚举用于控制允许的蓝牙通信模式。常量
描述
QBluetoothPermission.Access
允许此设备访问其他的蓝牙设备。这包括扫描附近设备和连接到它们。
QBluetoothPermission.Advertise
允许其他蓝牙设备发现此设备。
QBluetoothPermission.Default
这是默认的配置。
注意
目前,细粒度权限仅在 Android 12 及更高版本上受支持。在较老的 Android 版本上以及苹果操作系统上,任何模式都将导致完全的蓝牙访问。
注意
目前,Android 上的
Access
模式也请求precise location
许可权。这种权限耦合可能会在未来改变。从版本 6.6 开始。
- __init__()#
- __init__(other)
- 参数:
other –
QBluetoothPermission
- communicationModes()#
- 返回类型:
返回允许的蓝牙通信模式。
- setCommunicationModes(modes)#
- 参数:
模式 –
CommunicationMode
的组合
设置允许的蓝牙通信模式为
modes
。注意
使用默认构造函数创建的
CommunicationModes
实例没有意义,因此尝试设置此类模式将触发一个qWarning()
并回退到使用Default
模式。- swap(other)#
- 参数:
other –
QBluetoothPermission