QBluetoothPermission 类

访问蓝牙外设。 更多...

头文件 #include <QPermissions>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core
Qt 6.5

公共类型

(自 6.6) 枚举CommunicationMode { 访问, 广播, 默认 }
标记CommunicationModes

公共函数

(自 6.6) QBluetoothPermission::CommunicationModescommunicationModes() const
(自 6.6) voidsetCommunicationModes(QBluetoothPermission::CommunicationModes modes)

详细描述

要求

为了在运行时请求此权限,必须在构建时进行以下特定平台的用法声明

平台类型
苹果使用描述NSBluetoothAlwaysUsageDescription
安卓uses-permission截至安卓 11(API 级别 < 31)
  • android.permission.BLUETOOTH
  • android.permission.ACCESS_FINE_LOCATION

从安卓 12(API 级别 >= 31)开始

  • android.permission.BLUETOOTH_ADVERTISE
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.BLUETOOTH_SCAN
  • android.permission.ACCESS_FINE_LOCATION

有关如何将它们添加到项目中的信息,请参阅各个使用声明类型。

注意:目前,在安卓上,请求 android.permission.ACCESS_FINE_LOCATION 权限与蓝牙权限一起请求。这是蓝牙正常工作所必需的,除非应用程序在应用清单中提供一个强有力的断言,表明它不使用蓝牙来推导物理位置。这种权限捆绑可能在将来发生变化。

另请参阅QPermissionQCoreApplication::requestPermission()、QCoreApplication::checkPermission应用程序权限

成员类型文档

[自 6.6] 枚举 QBluetoothPermission::CommunicationMode
标记 QBluetoothPermission::CommunicationModes

这个枚举用于控制允许的蓝牙通信模式。

常数描述
QBluetoothPermission::Access0x01允许此设备访问其他蓝牙设备。 这包括扫描附近设备并连接到它们。
QBluetoothPermission::Advertise0x02允许其他蓝牙设备发现此设备。
QBluetoothPermission::Default访问 | 广播此配置默认使用。

注意:微粒权限当前仅在 Android 12 及更高版本上支持。在较旧版本的 Android 系统以及苹果操作系统上,任何模式都会导致全蓝牙访问。

注意:目前,Android 上的 访问 模式也请求 精确位置 权限。这种权限耦合可能在将来改变。

此枚举是在 Qt 6.6 中引入的。

CommunicationModes 类型是 QFlags<CommunicationMode> 的 typedef。它存储 CommunicationMode 值的 OR 组合。

成员函数文档

[since 6.6] QBluetoothPermission::CommunicationModes QBluetoothPermission::communicationModes() const

返回允许的蓝牙通信模式。

此函数是在 Qt 6.6 中引入的。

另请参阅:setCommunicationModes

[since 6.6] void QBluetoothPermission::setCommunicationModes(QBluetoothPermission::CommunicationModes modes)

将允许的蓝牙通信模式设置为 modes

注意:默认构造的 CommunicationModes 实例没有意义,因此尝试设置这样的模式将引发 qWarning() 并回退到使用 Default 模式。

此函数是在 Qt 6.6 中引入的。

另请参阅:communicationModes

© 2024 Qt 公司有限公司。此处包含的文档贡献是其各自所有者的版权。此处提供的文档根据 GNU 自由文档许可证版本 1.3 的条款发布,由自由软件基金会发布。Qt 和相应标志是芬兰及/或全球其他地区的 The Qt Company 有限公司的商标。所有其他商标均为其各自所有者的财产。