Класс QBluetoothLocalDevice
Класс QBluetoothLocalDevice предоставляет доступ к локальному устройству Bluetooth. Подробнее...
| Заголовок: | #include <QBluetoothLocalDevice> |
| qmake: | QT += bluetooth |
| С момента: | Qt 5.2 |
| Наследует: | QObject |
Типы public
| перечисление | Ошибка { НетОшибки, ОшибкаСопряжения, НеизвестнаяОшибка } |
| перечисление | РежимХоста { ХостВыключен, ХостПодключаем, ХостОбнаруживаем, ХостОбнаруживаемОграниченныйЗапрос } |
| перечисление | Сопряжение { НеСопряжено, Сопряжено, АвторизованноСопряжено } |
Функции public
| QBluetoothLocalDevice(const QBluetoothAddress &адрес, QObject *родитель = 0) | |
| QBluetoothLocalDevice(QObject *родитель = nullptr) | |
| виртуальный | ~QBluetoothLocalDevice() |
| QBluetoothAddress | адрес() const |
| QList<QBluetoothAddress> | подключенныеУстройства() const |
| QBluetoothLocalDevice::РежимХоста | режимХоста() const |
| bool | isValid() const |
| QString | имя() const |
| QBluetoothLocalDevice::Сопряжение | состояниеСопряжения(const QBluetoothAddress &адрес) const |
| void | включить() |
| void | запроситьСопряжение(const QBluetoothAddress &адрес, QBluetoothLocalDevice::Сопряжение сопряжение) |
| void | установитьРежимХоста(QBluetoothLocalDevice::РежимХоста режим) |
Сигналы
| void | устройствоПодключено(const QBluetoothAddress &адрес) |
| void | устройствоОтключено(const QBluetoothAddress &адрес) |
| void | возниклаОшибка(QBluetoothLocalDevice::Ошибка ошибка) |
| void | состояниеРежимаХостаИзменено(QBluetoothLocalDevice::РежимХоста состояние) |
| void | сопряжениеЗавершено(const QBluetoothAddress &адрес, QBluetoothLocalDevice::Сопряжение сопряжение) |
Статические public члены
| QList<QBluetoothHostInfo> | всеУстройства() |
Подробное описание
QBluetoothLocalDevice предоставляет функции для получения и установки состояния локальных устройств Bluetooth.
В iOS и Windows этот класс нельзя использовать, так как платформа не предоставляет никаких данных или API, которые могут предоставить информацию о локальном устройстве Bluetooth.
Документация по типам членов
перечисление QBluetoothLocalDevice::Ошибка
Это перечисление описывает ошибки, которые могут быть возвращены
| Константа | Значение | Описание |
|---|---|---|
QBluetoothLocalDevice::NoError |
0 |
Нет известной ошибки |
QBluetoothLocalDevice::PairingError |
1 |
Ошибка при сопряжении |
QBluetoothLocalDevice::UnknownError |
100 |
Неизвестная ошибка |
перечисление QBluetoothLocalDevice::РежимХоста
Это перечисление описывает большинство локального устройства Bluetooth.
| Константа | Значение | Описание |
|---|---|---|
QBluetoothLocalDevice::HostPoweredOff |
0 |
Выключение устройства |
QBluetoothLocalDevice::HostConnectable |
1 |
Удаленные устройства Bluetooth могут подключиться к локальному устройству Bluetooth, если они были ранее с ним сопряжены или каким-либо другим образом знают его адрес. Это включает устройство, если оно было выключено. |
QBluetoothLocalDevice::HostDiscoverable |
2 |
Удаленные устройства Bluetooth могут обнаружить наличие локального устройства Bluetooth. Устройство также будет подключаемым и включенным. В Android этот режим может быть активен не более 5 минут. |
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry |
3 |
Удаленные устройства Bluetooth могут обнаружить наличие локального устройства Bluetooth при выполнении ограниченного запроса. Это следует использовать для поиска служб, которые доступны только в течение ограниченного времени. Это может ускорить обнаружение между игровыми устройствами, так как обнаружение служб может быть пропущено на устройствах, не находящихся в режиме OграниченныйЗапрос. В этом режиме устройство будет подключаемым и включенным, если это необходимо. Этот режим не поддерживается в Android. В macOS невозможно установить hostMode() на HostConnectable или HostPoweredOff. |
перечисление QBluetoothLocalDevice::Сопряжение
Это перечисление описывает состояние сопряжения между двумя устройствами Bluetooth.
| Константа | Значение | Описание |
|---|---|---|
QBluetoothLocalDevice::Unpaired |
0 |
Устройства Bluetooth не сопряжены. |
QBluetoothLocalDevice::Paired |
1 |
Устройства Bluetooth сопряжены. Система запросит у пользователя авторизацию, когда удаленное устройство инициирует подключение к локальному устройству. |
QBluetoothLocalDevice::AuthorizedPaired |
2 |
Устройства Bluetooth сопряжены. Система не запросит у пользователя авторизацию, когда удаленное устройство инициирует подключение к локальному устройству. |
Документация по функциям членов
QBluetoothLocalDevice::QBluetoothLocalDevice(const QBluetoothAddress &адрес, QObject *родитель = 0)
Создает новый QBluetoothLocalDevice для адреса. Если адрес создан по умолчанию, результирующее локальное устройство выбирает локальное устройство по умолчанию.
QBluetoothLocalDevice::QBluetoothLocalDevice(QObject *родитель = nullptr)
Создает QBluetoothLocalDevice с родителем.
[signal, since 5.3] void QBluetoothLocalDevice::устройствоПодключено(const QBluetoothAddress &адрес)
Этот сигнал испускается, когда локальное устройство устанавливает соединение с удаленным устройством с адресом.
Эта функция была введена в Qt 5.3.
См. также deviceDisconnected() и подключенныеУстройства().
[signal, since 5.3] void QBluetoothLocalDevice::устройствоОтключено(const QBluetoothAddress &адрес)
Этот сигнал испускается, когда локальное устройство отключается от удаленного устройства Bluetooth с адресом.
Эта функция была введена в Qt 5.3.
См. также deviceConnected() и connectedDevices().
[signal, since 6.2] void QBluetoothLocalDevice::errorOccurred(QBluetoothLocalDevice::Error error)
Сигнал, генерируемый при возникновении исключительной ошибки во время сопряжения.
Эта функция была добавлена в Qt 6.2.
[signal] void QBluetoothLocalDevice::hostModeStateChanged(QBluetoothLocalDevice::HostMode state)
Состояние хоста перешло в другое значение HostMode.
[signal] void QBluetoothLocalDevice::pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
Сопряжение или отключение от сопряжения с address завершено. Текущий статус сопряжения — pairing. Если запрос на сопряжение не удался, этот сигнал не будет выпущен. Сигнал errorOccurred() выпущен, если запрос на сопряжение завершился ошибкой. Сигнал выпущен только для запросов на сопряжение, ранее инициированных с помощью метода requestPairing() текущего экземпляра объекта.
[virtual] QBluetoothLocalDevice::~QBluetoothLocalDevice()
Уничтожает QBluetoothLocalDevice.
QBluetoothAddress QBluetoothLocalDevice::address() const
Возвращает MAC-адрес этого Bluetooth-устройства.
Примечание: В Android начиная с версии 6.0 эта функция всегда возвращает константу 02:00:00:00:00:00 в качестве локального адреса. Программный доступ к локальному MAC-адресу устройства был удалён.
[static] QList<QBluetoothHostInfo> QBluetoothLocalDevice::allDevices()
Возвращает список всех доступных локальных Bluetooth-устройств. В macOS существует только «стандартное» локальное устройство.
[since 5.3] QList<QBluetoothAddress> QBluetoothLocalDevice::connectedDevices() const
Возвращает список подключённых устройств. Этот список отличается от списка текущих сопряжённых устройств.
В Android и macOS невозможно получить список подключённых устройств. Возможен только мониторинг изменений (подключения/отключения). Для удобства этот класс отслеживает все события подключения и отключения с момента создания экземпляра и возвращает текущий список при вызове этой функции. Поэтому возможно, что эта функция вернёт пустой список вскоре после создания экземпляра.
Эта функция была добавлена в Qt 5.3.
См. также deviceConnected() и deviceDisconnected().
QBluetoothLocalDevice::HostMode QBluetoothLocalDevice::hostMode() const
Возвращает текущий режим хоста этого локального Bluetooth-устройства. В macOS это либо HostPoweredOff, либо HostConnectable.
См. также setHostMode().
bool QBluetoothLocalDevice::isValid() const
Возвращает true, если QBluetoothLocalDevice представляет доступное локальное Bluetooth-устройство; в противном случае возвращает false.
Если локальный Bluetooth-адаптер, представленный экземпляром этого класса, удалён из системы (например, удалён Bluetooth-адаптер), то этот экземпляр станет недоступным. Уже недоступный экземпляр QBluetoothLocalDevice остаётся недоступным даже если тот же Bluetooth-адаптер будет снова подключён к системе.
См. также allDevices().
QString QBluetoothLocalDevice::name() const
Возвращает имя, назначенное пользователем этому Bluetooth-устройству.
QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluetoothAddress &address) const
Возвращает текущий статус сопряжения Bluetooth для address: не сопряжён, сопряжён или сопряжён и авторизован.
void QBluetoothLocalDevice::powerOn()
Включает устройство после возвращения его в состояние hostMode(), если оно было выключено.
Примечание: Из-за различных политиках безопасности на поддерживаемых платформах поведение этого метода может различаться. Например, система может запросить подтверждение пользователя перед включением или выключением Bluetooth. В macOS нет возможности включить/выключить Bluetooth программно. Обратитесь к документации по Bluetooth для конкретной платформы для получения подробностей.
void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
Устанавливает статус pairing для address. Результаты возвращаются сигналом pairingFinished(). В Android и macOS статус AuthorizedPaired недоступен и будет иметь то же поведение, что и Paired.
В macOS невозможно отсоединить устройство. Если запрошено Unpaired, pairingFinished() будет выпущен немедленно, хотя устройство останется сопряжённым. Можно запросить сопряжение для ранее не сопряжённого устройства. Кроме того, AuthorizedPaired имеет то же поведение, что и Paired.
Предупреждение: создание сопряжения может занять минуты и потребовать подтверждения от пользователя.
void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)
Устанавливает режим хоста этого локального Bluetooth-устройства в mode.
Некоторые переходы, такие как включение или выключение устройства, могут занять некоторое время. Поэтому последующие вызовы должны выполняться только после того, как сигнал hostModeStateChanged() завершит предыдущий запрос. Если это игнорируется, результат такой серии вызовов не определён.
Примечание: Из-за различных политиках безопасности на поддерживаемых платформах поведение этого метода может различаться. Например, система может запросить подтверждение пользователя перед включением или выключением Bluetooth, и не все режимы хоста могут быть поддерживаемы. В macOS программно изменить hostMode() невозможно. Пользователь может включить/выключить Bluetooth только в «Системных настройках». Обратитесь к документации по Bluetooth для конкретной платформы для получения подробностей.
См. также hostMode().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qbluetoothlocaldevice.html