System.Bluetooth.TBluetoothLEManager.StartDiscovery

De RAD Studio API Documentation
Aller à : navigation, rechercher

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 */;

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.Bluetooth.pas
System.Bluetooth.hpp
System.Bluetooth TBluetoothLEManager


Description

Démarre une opération de découverte (ou détection) pour trouver les périphériques distants via le protocole Bluetooth Low Energy.

La première méthode surchargée de StartDiscovery accepte les paramètres suivants :

  • Timeout détermine le temps passé pour la découverte des périphériques distants via le protocole Bluetooth Low Energy.
  • AFilterUUIDList est une liste facultative d'un ou plusieurs UUID de services GATT Bluetooth. Si vous fournissez cette liste, le gestionnaire ignore les périphériques distants qui ne publient pas au moins l'un des services spécifiés.
  • Si ForceConnect vaut True et que vous fournissez une valeur pour AFilterUUIDList, le gestionnaire se connecte à chaque périphérique distant découvert pour obtenir une liste complète des services fournis par chaque périphérique distant. Ainsi, StartDiscovery n'ignore pas les périphériques qui fournissent l'un des services spécifiés mais ne le publient pas.

La seconde méthode surchargée de StartDiscovery accepte le paramètre suivant :

  • ABluetoothLEScanFilterList représente une liste de filtres d'analyse BLE contenant des champs de données spécifiques relatifs aux périphériques BLE à analyser.

L'événement OnDiscoverLeDevice se produit une fois par périphérique distant découvert. Lorsque l'opération de découverte est terminée, l'événement OnDiscoveryEnd se produit. OnDiscoveryEnd fournit la liste des périphériques distants découverts.

Si un périphérique est ignoré car il ne publie ni ne fournit l'un des services spécifiés :

  • L'événement OnDiscoverLeDevice ne se produit pas pour ce périphérique distant.
  • Le périphérique distant ne fait pas partie de la liste des périphériques distants reçus par le gestionnaire d'événement de OnDiscoveryEnd.

StartDiscovery renvoie True si la découverte a démarré avec succès, ou False si quelque chose a empêché son démarrage.

StartDiscovery appelle la fonction StartDiscovery de l'adaptateur en cours.

Attention: Sous iOS 13.3.1 et 13.3.0, les méthodes de découverte des périphériques Bluetooth LE TBluetoothManagerLE.StartDiscovery et TBluetoothLE.DiscoverDevices entraînent la fermeture de l'application sans préavis.

Prise en charge de la plate-forme

Plate-forme Remarques

Windows 32 bits
Windows 64 bits

OS X

  • OnDiscoveryEnd se produit toujours un certain temps après le Timeout spécifié, jamais avant.
  • Renvoie toujours True.

iOS

  • OnDiscoveryEnd se produit toujours un certain temps après le Timeout spécifié, jamais avant.
  • Renvoie toujours True.

Android

  • OnDiscoveryEnd se produit toujours après le Timeout spécifié, jamais avant.

Voir aussi