QLowEnergyAdvertisingData Class
QLowEnergyAdvertisingData クラスは、Bluetooth Low Energy アドバタイジング中にブロードキャストされるデータを表します。詳細...
| ヘッダー: | #include <QLowEnergyAdvertisingData> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Bluetooth) target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake: | QT += bluetooth |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- QLowEnergyAdvertisingData は、暗黙的に共有されるクラスの一部です。
パブリック型
| enum | Discoverability { DiscoverabilityNone, DiscoverabilityLimited, DiscoverabilityGeneral } |
パブリック関数
| QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other) | |
| ~QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData::Discoverability | discoverability() const |
| bool | includePowerLevel() const |
| QString | localName() const |
| QByteArray | manufacturerData() const |
| quint16 | manufacturerId() const |
| QByteArray | rawData() const |
| QList<QBluetoothUuid> | services() const |
| void | setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode) |
| void | setIncludePowerLevel(bool doInclude) |
| void | setLocalName(const QString &name) |
| void | setManufacturerData(quint16 id, const QByteArray &data) |
| void | setRawData(const QByteArray &data) |
| void | setServices(const QList<QBluetoothUuid> &services) |
| void | swap(QLowEnergyAdvertisingData &other) |
| QLowEnergyAdvertisingData & | operator=(const QLowEnergyAdvertisingData &other) |
静的パブリックメンバー
| quint16 | invalidManufacturerId() |
関連する非メンバー
| bool | operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
| bool | operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
詳細な説明
このデータには、デバイス名や、デバイスが提供する GATT サービスなどが含まれます。このクラスを介して設定されたデータは、QLowEnergyController::startAdvertising() を呼び出してアドバタイジングが開始された際に使用されます。このクラスのオブジェクトは、アドバタイジングデータパケットまたはスキャン応答パケットを表すことができます。
アドバタイジングデータの制限
アドバタイジングデータの最大長は、BluetoothデバイスおよびプラットフォームのBluetoothスタックによって異なります。互換性を最大限に確保するため、アドバタイジングデータのサイズを従来のアドバタイジング制限である31バイト以内に抑えることを推奨します。
このクラスを介して設定された可変長データがサポートされている制限を超える場合、その挙動は基盤となるBluetoothスタックの実装によって異なります。最も一般的なケースとしては、以下の可能性があります:
- 余分なデータが切り捨てられるか、完全に除外される;
- アドバタイジングの開始に失敗する。
たとえば、Androidでは、アドバタイジングデータが31バイトを超えるとアドバタイジングは失敗します。BlueZ DBusバックエンドでは、アドバタイジングの長さの制限およびそれを超えた場合の挙動はBlueZに依存します。たとえば、拡張アドバタイジングをサポートする場合もあれば、アドバタイジングの開始に失敗する場合もあります。
QLowEnergyAdvertisingParameters およびQLowEnergyController::startAdvertising()も参照してください 。
メンバ型のドキュメント
enum QLowEnergyAdvertisingData::Discoverability
ジェネリック・アクセス・プロファイルで定義される広告デバイスの発見可能性。
| 定数 | 値 | 説明 |
|---|---|---|
QLowEnergyAdvertisingData::DiscoverabilityNone | 0 | 広告デバイスは、スキャンを行うデバイスから検出されることを望んでいません。 |
QLowEnergyAdvertisingData::DiscoverabilityLimited | 1 | アドバタイジングデバイスは、高い優先度で検出可能になることを希望しています。このモードはホワイトリストの使用とは互換性がないことに注意してください。検出可能性の制限が使用されている場合、QLowEnergyAdvertisingParameters::filterPolicy() の値は常にQLowEnergyAdvertisingParameters::IgnoreWhiteList とみなされます。 |
QLowEnergyAdvertisingData::DiscoverabilityGeneral | 2 | アドバタイジングデバイスは、スキャンデバイスから検出可能になることを希望しています。 |
メンバ関数のドキュメント
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()
このクラスの新しいオブジェクトを作成します。すべての値は、Bluetooth Low Energy仕様に基づき、デフォルト値に初期化されます。
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)
other のコピーである、このクラスの新しいオブジェクトを作成します。
[noexcept] QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()
このオブジェクトを破棄します。
QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const
広告デバイスの検出モードを返します。デフォルトはDiscoverabilityNone です。
setDiscoverability()も参照してください 。
bool QLowEnergyAdvertisingData::includePowerLevel() const
広告データにデバイスの送信電力レベルを含めるかどうかを返します。デフォルトはfalse です。
setIncludePowerLevel()も参照してください 。
[static] quint16 QLowEnergyAdvertisingData::invalidManufacturerId()
無効なメーカーIDを返します。この値がメーカーIDとして設定されている場合(デフォルトではこの値が設定されています)、広告データにはメーカーデータが含まれません。
QString QLowEnergyAdvertisingData::localName() const
アドバタイズするローカルデバイスの名前を返します。
setLocalName()も参照してください 。
QByteArray QLowEnergyAdvertisingData::manufacturerData() const
メーカーデータを返します。デフォルトは空のバイト配列です。
setManufacturerData()も参照してください 。
quint16 QLowEnergyAdvertisingData::manufacturerId() const
メーカーIDを返します。デフォルトはQLowEnergyAdvertisingData::invalidManufacturerId()であり、これはデータがアドバタイズされないことを意味します。
QByteArray QLowEnergyAdvertisingData::rawData() const
広告対象とする、ユーザー指定の生データを返します。デフォルトは空のバイト配列です。
setRawData()も参照してください 。
QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const
アドバタイズするサービスのUUIDのリストを返します。デフォルトでは、このリストは空です。
setServices()も参照してください 。
void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)
広告デバイスの検出可能タイプを「mode 」に設定します。
注:検出可能性情報は 、実際のアドバタイジングデータパケットにのみ含まれることができます。このオブジェクトがスキャン応答データとして機能する場合、この関数を呼び出しても、送信されるスキャン応答には何の影響もありません。
discoverability()も参照してください 。
void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)
アドバタイジングデータにデバイスの送信電力レベルを含めるかどうかを指定します。doInclude がtrue の場合、データは含まれますが、それ以外の場合は含まれません。
includePowerLevel()も参照してください 。
void QLowEnergyAdvertisingData::setLocalName(const QString &name)
name をデバイスの名前としてブロードキャストすることを指定します。完全な名前がアドバタイズメントデータパケットに収まらない場合、Bluetooth Low Energy仕様で規定されているとおり、短縮名が送信されます。
Android では、ローカル名を変更することはできません。Android は常にデバイス名を使用します。このローカル名が空でない場合、Android の実装ではデバイス名がアドバタイズメントパケットに含まれます。そうでない場合、デバイス名はアドバタイズメントパケットから省略されます。
localName()も参照してください 。
void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)
メーカーIDとデータを設定します。id パラメータは、Bluetooth SIGによって割り当てられた企業識別子です。data パラメータは任意の値です。
注:macOS および iOS では、メーカー ID やデータのアドバタイズメントはサポートされていないため、これらのプラットフォームでは指定されたパラメータは無視されます。
manufacturerData()も参照してください 。
void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)
data に広告するデータを設定します。値が空のバイト配列でない場合、その値がそのまま広告データとして送信され、このオブジェクト内のその他のデータはすべて無視されます。これは、非標準のデータを送信するために使用できます。
注: data の長さが31バイトを超える場合 、切り捨てられます。data が適切な形式であることを確認するのは、呼び出し側の責任です。
生のアドバタイジングデータの設定は、Linux Bluetooth カーネル APIバックエンドでのみサポートされています。他のバックエンドでは、生のアドバタイジングデータをグローバルフィールドとして指定することはできません。
rawData()も参照してください 。
void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)
services 内のサービス UUID をアドバタイズすることを指定します。リスト全体がパケットに収まらない場合、Bluetooth Low Energy 仕様で規定されているとおり、不完全なリストが送信されます。
services()も参照してください 。
[noexcept] void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)
このオブジェクトをother と入れ替えます。
QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)
このオブジェクトをother のコピーにし、このオブジェクトの新しい値を返します。
関連する非メンバー
bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
data1 とdata2 のパブリック状態が等しくない場合、true を返し、それ以外の場合はfalse を返します。
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
data1 とdata2 のパブリック状態が等しい場合は `true ` を返し、そうでない場合は `false` を返します。
© 2026 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.