QBluetoothLocalDevice Class
QBluetoothLocalDevice 클래스를 사용하면 로컬 Bluetooth 장치에 액세스할 수 있습니다. 더 보기...
Header: | #include <QBluetoothLocalDevice> |
qmake: | QT += bluetooth |
Inherits: | QObject |
공용 유형
enum | Error { NoError, PairingError, MissingPermissionsError, UnknownError } |
enum | HostMode { HostPoweredOff, HostConnectable, HostDiscoverable, HostDiscoverableLimitedInquiry } |
enum | Pairing { Unpaired, Paired, AuthorizedPaired } |
공용 함수
QBluetoothLocalDevice(QObject *parent = nullptr) | |
QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0) | |
virtual | ~QBluetoothLocalDevice() |
QBluetoothAddress | address() const |
QList<QBluetoothAddress> | connectedDevices() const |
QBluetoothLocalDevice::HostMode | hostMode() const |
bool | isValid() const |
QString | name() const |
QBluetoothLocalDevice::Pairing | pairingStatus(const QBluetoothAddress &address) const |
void | powerOn() |
void | requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing) |
void | setHostMode(QBluetoothLocalDevice::HostMode mode) |
Signals
void | deviceConnected(const QBluetoothAddress &address) |
void | deviceDisconnected(const QBluetoothAddress &address) |
(since 6.2) void | errorOccurred(QBluetoothLocalDevice::Error error) |
void | hostModeStateChanged(QBluetoothLocalDevice::HostMode state) |
void | pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing) |
정적 공용 멤버
QList<QBluetoothHostInfo> | allDevices() |
상세 설명
QBluetoothLocalDevice는 로컬 블루투스 장치의 상태를 가져오고 설정하는 함수를 제공합니다.
iOS에서는 플랫폼이 로컬 블루투스 장치에 대한 정보를 제공할 수 있는 데이터나 API를 노출하지 않기 때문에 이 클래스를 사용할 수 없습니다.
멤버 유형 문서
enum QBluetoothLocalDevice::Error
이 열거형은 반환될 수 있는 오류를 설명합니다.
상수 | 값 | 설명 |
---|---|---|
QBluetoothLocalDevice::NoError | 0 | 알려진 오류 없음 |
QBluetoothLocalDevice::PairingError | 1 | 페어링 오류 |
QBluetoothLocalDevice::MissingPermissionsError (since Qt 6.4) | 2 | 운영 체제에서 사용자가 부여하지 않은 권한을 요청합니다. |
QBluetoothLocalDevice::UnknownError | 100 | 알 수 없는 오류 |
enum QBluetoothLocalDevice::HostMode
이 열거형은 대부분의 로컬 Bluetooth 장치를 설명합니다.
Constant | 값 | 설명 |
---|---|---|
QBluetoothLocalDevice::HostPoweredOff | 0 | 장치 전원 끄기 |
QBluetoothLocalDevice::HostConnectable | 1 | 원격 Bluetooth 장치가 이전에 페어링되었거나 주소를 알고 있는 경우 로컬 Bluetooth 장치에 연결할 수 있습니다. 전원이 꺼져 있던 장치의 전원을 켭니다. |
QBluetoothLocalDevice::HostDiscoverable | 2 | 원격 Bluetooth 장치가 로컬 Bluetooth 장치의 존재를 발견할 수 있습니다. 또한 장치에 연결할 수 있고 전원이 켜집니다. Android에서는 이 모드를 최대 5분 동안만 활성화할 수 있습니다. |
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry | 3 | 원격 Bluetooth 장치는 제한된 조회를 수행할 때 로컬 Bluetooth 장치의 존재를 발견할 수 있습니다. 이 모드는 제한된 시간 동안만 검색할 수 있도록 설정된 서비스를 찾는 데 사용해야 합니다. 제한 조회 모드가 아닌 장치에서는 서비스 검색을 건너뛸 수 있으므로 게임 장치 간 검색 속도를 높일 수 있습니다. 이 모드에서는 필요한 경우 디바이스를 연결하고 전원을 켤 수 있습니다. 이 모드는 Android에서는 지원되지 않습니다. |
참고: macOS에서는 hostMode()를 설정할 수 없습니다. 보고되는 호스트 모드는 호스트 전원 끄기 및 호스트 연결 가능으로 제한됩니다.
참고: Windows에서는 hostMode()를 호스트 검색 가능 또는 호스트 검색 가능 제한 조회로 설정할 수 없습니다. 이러한 모드를 사용하는 것은 HostConnectable과 동일합니다.
참고: 안드로이드 13(API 레벨 33)부터는 공개 안드로이드 API가 더 이상 사용되지 않으므로 HostPoweredOff 상태는 비공개 안드로이드 API에 의존합니다(disable() 참조). 이는 향후 Android 버전에서 변경될 수 있습니다.
참고: 적어도 안드로이드 12에서는 디바이스의 블루투스 가시성 설정에 따라 HostDiscoverable 또는 HostConnectable 설정 결과가 달라질 수 있습니다. 예를 들어 가시성 설정이 꺼져 있으면 HostDiscoverable 모드로 전환되지 않고 대신 HostConnectable 모드가 사용될 수 있습니다. 이는 향후 Android 버전에서 변경될 수 있습니다.
enum QBluetoothLocalDevice::Pairing
이 열거형은 두 Bluetooth 장치 간의 페어링 상태를 설명합니다.
Constant | 값 | 설명 |
---|---|---|
QBluetoothLocalDevice::Unpaired | 0 | Bluetooth 장치가 페어링되지 않았습니다. |
QBluetoothLocalDevice::Paired | 1 | Bluetooth 장치가 페어링되었습니다. 원격 장치에서 로컬 장치에 대한 연결을 시작하면 시스템에서 사용자에게 인증 메시지를 표시합니다. |
QBluetoothLocalDevice::AuthorizedPaired | 2 | Bluetooth 장치가 페어링되었습니다. 원격 장치에서 로컬 장치에 대한 연결을 시작할 때 시스템에서 사용자에게 인증 메시지를 표시하지 않습니다. |
멤버 기능 문서
[explicit]
QBluetoothLocalDevice::QBluetoothLocalDevice(QObject *parent = nullptr)
parent 를 사용하여 QBluetoothLocalDevice를 구축합니다.
참고: 안드로이드 12(API 레벨 31)부터 이 클래스를 구성하려면 블루투스 런타임 권한(BLUETOOTH_SCAN 및 BLUETOOTH_CONNECT)이 필요합니다. 권한이 부여되지 않으면 장치가 유효하지 않습니다.
isValid()도 참조하세요 .
[explicit]
QBluetoothLocalDevice::QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)
address 에 대한 새 QBluetoothLocalDevice를 생성합니다. address 이 기본 구성되면 결과 로컬 장치는 로컬 기본 장치를 선택합니다.
참고: 안드로이드 12(API 레벨 31)부터 이 클래스를 구성하려면 블루투스 런타임 권한(BLUETOOTH_SCAN 및 BLUETOOTH_CONNECT)이 필요합니다. 권한이 부여되지 않으면 장치가 유효하지 않습니다.
isValid()도 참조하세요 .
[virtual noexcept]
QBluetoothLocalDevice::~QBluetoothLocalDevice()
QBluetoothLocalDevice 를 파괴합니다.
QBluetoothAddress QBluetoothLocalDevice::address() const
이 블루투스 장치의 MAC 주소를 반환합니다.
참고: Android에서 이 함수는 항상 Android 6.0부터 로컬 주소로 상수 값 02:00:00:00:00:00
을 반환합니다. 장치의 로컬 MAC 주소에 대한 프로그래밍 방식의 액세스가 제거되었습니다.
[static]
QList<QBluetoothHostInfo> QBluetoothLocalDevice::allDevices()
사용 가능한 모든 로컬 Bluetooth 장치 목록을 반환합니다. macOS에서는 '기본' 로컬 장치만 있습니다.
QList<QBluetoothAddress> QBluetoothLocalDevice::connectedDevices() const
연결된 디바이스 목록을 반환합니다. 이 목록은 현재 페어링된 디바이스 목록과 다릅니다.
Android 및 macOS에서는 연결된 디바이스 목록을 검색할 수 없습니다. (연결 해제) 변경 사항을 수신하는 것만 가능합니다. 편의를 위해 이 클래스는 인스턴스화 이후 모든 연결 및 연결 해제 이벤트를 모니터링하고 이 함수를 호출할 때 현재 목록을 반환합니다. 따라서 이 함수는 인스턴스를 생성한 직후 빈 리스트를 반환할 수 있습니다.
deviceConnected() 및 deviceDisconnected()도 참조하세요 .
[signal]
void QBluetoothLocalDevice::deviceConnected(const QBluetoothAddress &address)
이 신호는 로컬 장치가 address 를 사용하여 원격 장치에 연결을 설정할 때 발생합니다.
deviceDisconnected() 및 connectedDevices()도 참조하세요 .
[signal]
void QBluetoothLocalDevice::deviceDisconnected(const QBluetoothAddress &address)
이 신호는 로컬 장치가 원격 Bluetooth 장치에서 address 을 사용하여 연결을 끊을 때 방출됩니다.
deviceConnected() 및 connectedDevices()도 참조하세요 .
[signal, since 6.2]
void QBluetoothLocalDevice::errorOccurred(QBluetoothLocalDevice::Error error)
페어링 중 error 예외가 발생하면 신호가 전송됩니다.
이 기능은 Qt 6.2에 도입되었습니다.
QBluetoothLocalDevice::HostMode QBluetoothLocalDevice::hostMode() const
이 로컬 블루투스 장치의 현재 호스트 모드를 반환합니다. macOS에서는 HostPoweredOff 또는 HostConnectable 입니다.
setHostMode()도 참조하세요 .
[signal]
void QBluetoothLocalDevice::hostModeStateChanged(QBluetoothLocalDevice::HostMode state)
호스트의 state 이 다른 HostMode 으로 전환되었습니다.
bool QBluetoothLocalDevice::isValid() const
QBluetoothLocalDevice 이 사용 가능한 로컬 Bluetooth 장치를 나타내면 true
을 반환하고, 그렇지 않으면 false 를 반환합니다.
이 클래스의 인스턴스로 표시되는 로컬 Bluetooth 어댑터가 시스템에서 제거되면(예: 기본 Bluetooth 동글 제거) 이 인스턴스는 유효하지 않게 됩니다. 이미 유효하지 않은 QBluetoothLocalDevice 인스턴스는 동일한 Bluetooth 어댑터가 시스템으로 반환되더라도 유효하지 않은 상태로 유지됩니다.
참고: 안드로이드 12(API 레벨 31)부터 이 클래스를 구성하려면 블루투스 런타임 권한(블루투스_스캔 및 블루투스_연결)이 필요합니다. 권한이 부여되지 않으면 장치가 유효하지 않습니다.
allDevices()도 참조하세요 .
QString QBluetoothLocalDevice::name() const
이 블루투스 장치에 사용자가 지정한 이름을 반환합니다.
[signal]
void QBluetoothLocalDevice::pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
페어링 또는 페어링 해제가 완료되었습니다 address. 현재 페어링 상태는 pairing 입니다. 페어링 요청이 성공하지 못한 경우 이 신호는 전송되지 않습니다. 페어링 요청이 실패한 경우 errorOccurred() 신호가 전송됩니다. 이 신호는 현재 개체 인스턴스의 requestPairing()를 호출하여 이전에 요청했던 페어링 요청에 대해서만 발생합니다.
QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluetoothAddress &address) const
address 의 현재 블루투스 페어링 상태(페어링되지 않았거나, 페어링되었거나, 페어링되고 인증된 경우)를 반환합니다.
void QBluetoothLocalDevice::powerOn()
디바이스의 전원이 꺼져 있는 경우 hostMode() 상태로 되돌리고 나서 디바이스의 전원을 켭니다.
참고: 지원되는 플랫폼의 보안 정책이 다양하기 때문에 이 방법은 다양한 플랫폼에서 서로 다른 동작을 보일 수 있습니다. 예를 들어 시스템에서 블루투스를 켜거나 끄기 전에 사용자에게 확인을 요청할 수 있습니다. macOS에서는 블루투스의 전원을 켜거나 끌 수 없습니다. 자세한 내용은 플랫폼별 블루투스 설명서를 참조하세요.
void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
address 으로 pairing 상태를 설정합니다. 결과는 pairingFinished() 신호로 반환됩니다.
Android 및 macOS에서는 AuthorizedPaired 을 사용할 수 없으며 페어링된 상태와 동일한 동작을 합니다. Windows에서는 정확한 페어링 모드 결정은 운영 체제에 따라 다릅니다.
macOS에서는 디바이스의 페어링을 해제할 수 없습니다. 페어링 해제를 요청하면 장치가 페어링된 상태로 유지되더라도 pairingFinished()가 즉시 전송됩니다. 이전에 페어링되지 않은 디바이스에 대해 페어링을 요청할 수 있습니다. 또한 AuthorizedPaired 은 Paired 과 동일한 동작을 합니다.
주의: 페어링을 만드는 데 몇 분 정도 걸릴 수 있으며 사용자의 승인이 필요할 수 있습니다.
void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)
이 로컬 Bluetooth 장치의 호스트 모드를 mode 으로 설정합니다.
장치를 켜거나 끄는 등의 일부 전환에는 다소 시간이 걸릴 수 있습니다. 따라서 후속 호출은 hostModeStateChanged() 신호가 이전 요청을 완료한 후에만 수행해야 합니다. 이를 무시하면 이러한 일련의 호출 결과가 제대로 정의되지 않습니다.
참고: 지원되는 플랫폼의 보안 정책이 다양하기 때문에 이 메서드는 다양한 플랫폼에서 다른 동작을 보일 수 있습니다. 예를 들어 시스템에서 블루투스를 켜거나 끄기 전에 사용자에게 확인을 요청할 수 있으며 모든 호스트 모드가 지원되지 않을 수 있습니다. macOS에서는 hostMode()를 프로그래밍 방식으로 변경할 수 없습니다. 사용자는 시스템 환경설정에서만 블루투스를 켜거나 끌 수 있습니다. Windows에서는 사용자 확인이 필요할 수 있으므로 UI 스레드에서 이 메서드를 호출해야 합니다. 자세한 내용은 플랫폼별 Bluetooth 설명서를 참조하세요.
hostMode()도 참조하세요 .
© 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.