QBluetoothPermission Class | Qt Core (original) (raw)

Access Bluetooth peripherals. More...

Header: #include
CMake: find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Since: Qt 6.5

Public Types

Public Functions

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): android.permission.BLUETOOTH android.permission.ACCESS_FINE_LOCATION Starting from Android 12 (API Level >= 31): android.permission.BLUETOOTH_ADVERTISE android.permission.BLUETOOTH_CONNECT android.permission.BLUETOOTH_SCAN

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. It stores an OR combination of CommunicationMode values.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.