System.Bluetooth.TBluetoothLEManager.StartDiscovery
Delphi
function StartDiscovery(Timeout: Cardinal; const AFilterUUIDList: TBluetoothUUIDsList = nil; ForceConnect: Boolean = False): Boolean; overload;
function StartDiscovery(Timeout: Cardinal; const ABluetoothLEScanFilterList: TBluetoothLEScanFilterList): Boolean; overload;
C++
bool __fastcall StartDiscovery(unsigned Timeout, TBluetoothUUIDsList* const AFilterUUIDList = (TBluetoothUUIDsList*)(0x0), bool ForceConnect = false)/* overload */;
bool __fastcall StartDiscovery(unsigned Timeout, TBluetoothLEScanFilterList* const ABluetoothLEScanFilterList)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Bluetooth.pas System.Bluetooth.hpp |
System.Bluetooth | TBluetoothLEManager |
説明
Bluetooth LE を使用するリモート デバイスを見つけるための検出操作を開始します。
StartDiscovery の第1オーバーロード メソッドは、次のパラメータをとります:
Timeout
: Bluetooth LE を使用するリモート デバイスの検出にかける時間を指定します。AFilterUUIDList
: 1 つ以上の Bluetooth GATT サービス UUID から成るリストです(任意指定)。このリストが指定された場合、マネージャは、指定されたサービスの少なくとも 1 つをアドバタイズしないリモート デバイスを無視します。ForceConnect
がTrue
でAFilterUUIDList
の値が指定された場合、マネージャは、検出したすべてのリモート デバイスに接続して、各リモート デバイスから提供されるサービスの完全なリストを取得します。そのため、StartDiscovery では、指定されたサービスのいずれかを提供はするがアドバタイズしないデバイスを無視しません。
StartDiscovery の第2オーバーロード メソッドは、次のパラメータをとります:
ABluetoothLEScanFilterList
は、スキャンしたい BLE デバイスに関する特定のデータ フィールドを格納する BLE スキャン フィルタのリストを表します。
検出されたリモート デバイスごとに、OnDiscoverLeDevice イベントが 1 回発生します。検出操作が終了すると、OnDiscoveryEnd イベントが発生します。検出されたリモート デバイスのリストが OnDiscoveryEnd から提供されます。
デバイスが指定のサービスのいずれかをアドバタイズまたは提供しないため無視される場合は、
- そのリモート デバイスについては、OnDiscoverLeDevice イベントが発生しません。
- そのリモート デバイスは、OnDiscoveryEnd のイベント ハンドラが受け取るリモート デバイス リストに含まれていません。
StartDiscovery は、検出が正常に開始された場合は True
を返し、何らかの原因で検出が開始されなかった場合は False
を返します。
StartDiscovery から、現在のアダプタの StartDiscovery が呼び出されます。
注意: iOS 13.3.1 や 13.3.0 を使用している場合、Bluetooth LE デバイス検知メソッド TBluetoothManagerLE.StartDiscovery と TBluetoothLE.DiscoverDevices は、モバイル アプリケーションを通知なく閉じます。
プラットフォーム サポート
プラットフォーム | 備考 |
---|---|
32 ビット Windows |
|
OS X |
|
iOS |
|
Android |
|
関連項目
- System.Bluetooth.TBluetoothLEManager.OnDiscoverLeDevice
- System.Bluetooth.TBluetoothLEManager.OnDiscoveryEnd
- System.Bluetooth.TBluetoothLEManager.FServicesFilterScan
- System.Bluetooth.TBluetoothLEManager.CurrentAdapter