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) |
シグナル
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 は、ローカルの Bluetooth デバイスの状態を取得および設定するための関数を提供します。
iOSでは、プラットフォームがローカルのBluetoothデバイスに関する情報を提供するデータやAPIを公開していないため、このクラスは使用できません。
メンバ型ドキュメント
enum QBluetoothLocalDevice::Error
この列挙型は、返される可能性のあるエラーを記述します。
定数 | 値 | 説明 |
---|---|---|
QBluetoothLocalDevice::NoError | 0 | 既知のエラーなし |
QBluetoothLocalDevice::PairingError | 1 | ペアリングのエラー |
QBluetoothLocalDevice::MissingPermissionsError (since Qt 6.4) | 2 | オペレーティングシステムが、ユーザーによって許可されていないパーミッションを要求した。 |
QBluetoothLocalDevice::UnknownError | 100 | 不明なエラー |
enum QBluetoothLocalDevice::HostMode
この enum は、ローカルの Bluetooth デバイスのほとんどを記述します。
定数 | 値 | 説明 |
---|---|---|
QBluetoothLocalDevice::HostPoweredOff | 0 | デバイスの電源を切る |
QBluetoothLocalDevice::HostConnectable | 1 | リモートのBluetoothデバイスは、以前にペアリングされているか、アドレスを知っていれば、ローカルのBluetoothデバイスに接続できます。デバイスの電源がオフの場合、デバイスの電源がオンになります。 |
QBluetoothLocalDevice::HostDiscoverable | 2 | リモートBluetoothデバイスはローカルBluetoothデバイスの存在を検出できます。デバイスも接続可能になり、電源がオンになります。アンドロイドでは、このモードは最大5分間しかアクティブにできません。 |
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry | 3 | リモートBluetoothデバイスは、限定的な問い合わせを行う際にローカルBluetoothデバイスの存在を検出できます。これは、限られた期間のみ検出可能なサービスを見つけるために使用する必要があります。LimitedInquiryモードでないデバイスではサービス検出をスキップできるため、ゲームデバイス間の検出を高速化できます。このモードでは、デバイスは接続可能で、必要に応じて電源が入ります。このモードはAndroidではサポートされていません。 |
注記: macOSでは、hostMode ()を設定することはできません。報告されるホスト・モードは、HostPoweredOffとHostConnectableに限られます。
注 :Windowsでは、hostMode ()をHostDiscoverableまたはHostDiscoverableLimitedInquiryに設定することはできません。これらのモードを使用すると、HostConnectableと同等になります。
注: Android 13(APIレベル33)以降、HostPoweredOff状態は、パブリックなものが非推奨になったため、パブリックでないAndroid APIに依存しています((disable())を参照)。これは、Androidの将来のバージョンで変更される可能性があります。
注: 少なくともAndroid 12では、デバイスのBluetooth可視性設定が、HostDiscoverableまたはHostConnectableのいずれかの設定結果を左右する可能性があります。例えば、可視性がオフに設定されている場合、HostDiscoverableモードに入ることができず、代わりにHostConnectableが使用されます。これは、Androidの将来のバージョンで変更される可能性があります。
enum QBluetoothLocalDevice::Pairing
この列挙型は、2つのBluetoothデバイス間のペアリング状態を記述する。
定数 | 値 | 説明 |
---|---|---|
QBluetoothLocalDevice::Unpaired | 0 | Bluetoothデバイスはペアリングされていません。 |
QBluetoothLocalDevice::Paired | 1 | Bluetooth デバイスはペアリングされています。リモートデバイスがローカルデバイスへの接続を開始すると、システムはユーザーに承認を求めるプロンプトを表示します。 |
QBluetoothLocalDevice::AuthorizedPaired | 2 | Bluetooth デバイスはペアリングされています。リモート・デバイスがローカル・デバイスへの接続を開始するとき、システムはユーザーに承認を求めません。 |
メンバー機能のドキュメント
[explicit]
QBluetoothLocalDevice::QBluetoothLocalDevice(QObject *parent = nullptr)
QBluetoothLocalDevice をparent で構築します。
注: Android 12(APIレベル31)から、このクラスの構築にはブルートゥースの実行時パーミッション(BLUETOOTH_SCANおよびBLUETOOTH_CONNECT)が必要です。パーミッションが付与されていない場合、デバイスは有効になりません。
isValid()も参照してください 。
[explicit]
QBluetoothLocalDevice::QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)
address 用の新しい QBluetoothLocalDevice を構築します。address がデフォルトで構築された場合、結果のローカル・デバイスはローカルのデフォルト・デバイスを選択します。
注: Android 12(APIレベル31)から、このクラスの構築にはブルートゥースの実行時パーミッション(BLUETOOTH_SCANおよびBLUETOOTH_CONNECT)が必要です。パーミッションが付与されていない場合、デバイスは有効になりません。
isValid()も参照してください 。
[virtual noexcept]
QBluetoothLocalDevice::~QBluetoothLocalDevice()
QBluetoothLocalDevice を破壊する。
QBluetoothAddress QBluetoothLocalDevice::address() const
このBluetoothデバイスのMACアドレスを返します。
注: Androidでは、Android 6.0以降、この関数は常にローカルアドレスとして定数値02:00:00:00:00:00
を返します。デバイスのローカルMACアドレスへのプログラムによるアクセスは削除されました。
[static]
QList<QBluetoothHostInfo> QBluetoothLocalDevice::allDevices()
利用可能なすべてのローカルBluetoothデバイスのリストを返します。macOSでは "default "ローカルデバイスしかありません。
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
このローカル Bluetooth デバイスの現在のホストモードを返します。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 アダプタがシステムに戻されても無効なままです。
注: Android 12(API レベル 31)以降、このクラスの構築には、Bluetooth ランタイム権限(BLUETOOTH_SCANおよびBLUETOOTH_CONNECT)が必要です。パーミッションが付与されていない場合、デバイスは有効になりません。
allDevices()も参照してください 。
QString QBluetoothLocalDevice::name() const
ユーザーがこの Bluetooth デバイスに割り当てた名前を返します。
[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 ()状態に戻した後、デバイスの電源をオンにする。
注意: サポートされているプラットフォームのセキュリティ・ポリシーが異なるため、このメソッドはさまざまなプラットフォームで動作が異なる可能性があります。例えば、Bluetoothをオンまたはオフにする前に、システムがユーザーに確認を求める場合があります。macOSではBluetoothの電源オン/オフはできません。詳細については、プラットフォーム固有のBluetoothドキュメントを参照してください。
void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
address でpairing のステータスを設定する。結果はシグナルpairingFinished() で返される。
AndroidとmacOSでは、AuthorizedPaired は不可能で、Pairedと同じ動作になる。Windowsでは、正確なペアリング・モードの決定はオペレーティング・システム次第である。
macOSでは、デバイスのペアリングを解除することはできません。Unpairedが要求された場合、デバイスはペアリングされたままであるが、pairingFinished()が即座に発行される。以前にペアリングが解除されたデバイスのペアリングを要求することは可能である。また、AuthorizedPaired はPaired と同じ動作をする。
注意: ペアリングの作成には数分かかることがあり、ユーザーに確認を求めることがある。
void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)
このローカルBluetoothデバイスのホストモードをmode に設定します。
デバイスのオン/オフなど、いくつかの遷移には時間がかかる場合があります。そのため、hostModeStateChanged ()信号が前の要求を終了してから、後続の呼び出しを行う必要があります。これを無視すると、一連の呼び出しの結果がうまく定義されません。
注意: サポートされているプラットフォームのセキュリティ・ポリシーが異なるため、 このメソッドはさまざまなプラットフォームで異なる動作をするかもしれない。例えば、Bluetoothのオン/オフを切り替える前にシステムがユーザーに確認を求める場合があり、すべてのホストモードがサポートされているわけではありません。macOSでは、hostMode ()をプログラムで変更することはできません。ユーザーはシステム環境設定でのみBluetoothのオン/オフを切り替えることができます。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.