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::NoError0既知のエラーなし
QBluetoothLocalDevice::PairingError1ペアリングのエラー
QBluetoothLocalDevice::MissingPermissionsError (since Qt 6.4)2オペレーティングシステムが、ユーザーによって許可されていないパーミッションを要求した。
QBluetoothLocalDevice::UnknownError100不明なエラー

enum QBluetoothLocalDevice::HostMode

この列挙型は、ローカルの Bluetooth デバイスの最多を記述します。

定数説明
QBluetoothLocalDevice::HostPoweredOff0デバイスの電源を切る
QBluetoothLocalDevice::HostConnectable1リモートのBluetoothデバイスは、以前にペアリングされているか、アドレスを知っていれば、ローカルのBluetoothデバイスに接続できます。デバイスの電源がオフの場合、デバイスの電源がオンになります。
QBluetoothLocalDevice::HostDiscoverable2リモートBluetoothデバイスはローカルBluetoothデバイスの存在を検出できます。デバイスも接続可能になり、電源がオンになります。アンドロイドでは、このモードは最大5分間しかアクティブにできません。
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry3リモート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::Unpaired0Bluetoothデバイスはペアリングされていません。
QBluetoothLocalDevice::Paired1Bluetooth デバイスはペアリングされています。リモートデバイスがローカルデバイスへの接続を開始すると、システムはユーザーに承認を求めるプロンプトを表示します。
QBluetoothLocalDevice::AuthorizedPaired2Bluetooth デバイスはペアリングされています。リモート・デバイスがローカル・デバイスへの接続を開始するとき、システムはユーザーに承認を求めません。

メンバー関数ドキュメント

[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)

このシグナルは、ローカル・デバイスがaddress でリモートの Bluetooth デバイスとの接続を切断したときに発せられます。

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 の現在の bluetooth ペアリングステータスを返します。

void QBluetoothLocalDevice::powerOn()

デバイスの電源がオフになっている場合は、hostMode() の状態に戻した後、デバイスの電源をオンにします。

注意: サポートされているプラットフォームのセキュリティ・ポリシーはさまざまであるため、このメソッドはさまざまなプラットフォームで動作が異なる可能性があります。例えば、Bluetoothをオンまたはオフにする前に、システムがユーザーに確認を求める場合があります。macOSではBluetoothの電源オン/オフはできません。詳細については、プラットフォーム固有のBluetoothドキュメントを参照してください。

void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

addresspairing ステータスを設定します。結果は、pairingFinished() という信号で返されます。

AndroidとmacOSでは、AuthorizedPaired は不可能で、Pairedと同じ動作になります。Windowsでは、正確なペアリング・モードの決定はオペレーティング・システム次第である。

macOSでは、デバイスのペアリングを解除することはできません。Unpairedが要求された場合、デバイスはペアリングされたままであるが、pairingFinished()が即座に発行される。以前にペアリングが解除されたデバイスのペアリングを要求することは可能である。また、AuthorizedPairedPaired と同じ動作をする。

注意: ペアリングの作成には数分かかることがあり、ユーザーに確認を求めることがある。

void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)

このローカル Bluetooth デバイスのホストモードをmode に設定します。

デバイスのオン/オフなど、いくつかの遷移には時間がかかる場合があります。そのため、hostModeStateChanged ()信号が前の要求を終了してから、後続の通話を行う必要があります。これを無視すると、一連の呼び出しの結果がうまく定義されません。

注意: サポートされているプラットフォームのセキュリティ・ポリシーが異なるため、 このメソッドはさまざまなプラットフォームで異なる動作をするかもしれない。例えば、Bluetoothのオン/オフを切り替える前にシステムがユーザーに確認を求める場合があり、すべてのホストモードがサポートされているわけではありません。macOSでは、hostMode ()をプログラムで変更することはできません。ユーザーはシステム環境設定でのみBluetoothのオン/オフを切り替えることができます。Windowsでは、ユーザーの確認が必要な場合があるため、このメソッドはUIスレッドから呼び出す必要があります。詳細については、プラットフォーム固有のBluetoothドキュメントを参照してください。

hostMode()も参照してください

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。