QBluetoothPermission Class
Access Bluetooth peripherals. More...
| Header: | #include <QPermissions> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Since: | Qt 6.5 |
Public Types
(since 6.6) enum | CommunicationMode { Access, Advertise, Default } |
| flags | CommunicationModes |
Public Functions
(since 6.6) QBluetoothPermission::CommunicationModes | communicationModes() const |
(since 6.6) void | setCommunicationModes(QBluetoothPermission::CommunicationModes modes) |
Detailed Description
Requirements
To request this permission at runtime, the following platform specific usage declarations have to be made at build time:
| Platform | Type | |
|---|---|---|
| Apple | Usage description | NSBluetoothAlwaysUsageDescription |
| Android | uses-permission | Up to Android 11 (API Level < 31):
Starting from Android 12 (API Level >= 31):
|
Please see the individual usage declaration types for how to add them to your project.
Note: Since Qt 6.8.1, the ACCESS_FINE_LOCATION permission is no longer requested if API Level >= 31. This may limit some Bluetooth scan results. Users needing these results need to request the location permission separately (see precise location) and ensure that BLUETOOTH_SCAN permission doesn't have the android:usesPermissionFlags="neverForLocation" attribute set. For setting and customizing permissions in the application manifest, see this guide.
See also QPermission, QCoreApplication::requestPermission(), QCoreApplication::checkPermission(), and Application Permissions.
Member Type Documentation
[since 6.6] enum QBluetoothPermission::CommunicationMode
flags QBluetoothPermission::CommunicationModes
This enum is used to control the allowed Bluetooth communication modes.
| Constant | Value | Description |
|---|---|---|
QBluetoothPermission::Access | 0x01 | Allow this device to access other Bluetooth devices. This includes scanning for nearby devices and connecting to them. |
QBluetoothPermission::Advertise | 0x02 | Allow other Bluetooth devices to discover this device. |
QBluetoothPermission::Default | Access | Advertise | This configuration is used by default. Note: The fine-grained permissions are currently supported only on Android 12 and newer. On older Android versions, as well as on Apple operating systems, any mode results in full Bluetooth access. |
This enum was introduced in Qt 6.6.
The CommunicationModes type is a typedef for QFlags<CommunicationMode>. It stores an OR combination of CommunicationMode values.
Member Function Documentation
[since 6.6] QBluetoothPermission::CommunicationModes QBluetoothPermission::communicationModes() const
Returns the allowed Bluetooth communication modes.
This function was introduced in Qt 6.6.
See also setCommunicationModes().
[since 6.6] void QBluetoothPermission::setCommunicationModes(QBluetoothPermission::CommunicationModes modes)
Sets the allowed Bluetooth communication modes to modes.
Note: A default-constructed instance of CommunicationModes has no sense, so an attempt to set such a mode will raise a qWarning() and fall back to using the Default mode.
This function was introduced in Qt 6.6.
See also communicationModes().