BluetoothLEAdvertisementWatcherTrigger Classe

Definizione

Rappresenta un trigger registrato per l'analisi dell'annuncio Bluetooth LE in background.

public ref class BluetoothLEAdvertisementWatcherTrigger sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class BluetoothLEAdvertisementWatcherTrigger final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class BluetoothLEAdvertisementWatcherTrigger final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class BluetoothLEAdvertisementWatcherTrigger
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class BluetoothLEAdvertisementWatcherTrigger
function BluetoothLEAdvertisementWatcherTrigger()
Public NotInheritable Class BluetoothLEAdvertisementWatcherTrigger
Ereditarietà
Object Platform::Object IInspectable BluetoothLEAdvertisementWatcherTrigger
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

Un'attività in background viene avviata quando viene ricevuto un annuncio.

Questo trigger funziona in modo analogo alla classe BluetoothAdvertisementWatcher , ad eccezione del fatto che ha più restrizioni in quanto consente all'app di ricevere annunci in background. In particolare, in background viene accettato esattamente un singolo modello di filtro (non più, non meno).

Dopo la registrazione, il watcher in background viene eseguito in modo ottimale. Verrà avviata un'attività in background per notificare all'app quando viene ricevuto un annuncio corrispondente al filtro configurato tramite trigger. L'app riceve anche una notifica degli errori o dell'interruzione del watcher in background tramite i dettagli del trigger forniti nel contesto dell'attività in background. Per interrompere la ricezione degli annunci, l'attività in background associata a questo trigger deve essere annullata.

I seguenti tipi di annunci non possono essere filtrati per in background a causa della loro natura generica

  • Flag (0x01)
  • Classe di dispositivo (0x0D)
  • Flag fuori banda di Gestione sicurezza (0x11)
  • Aspetto (0x19)
  • Ruolo LE (0x1C)

Un filtro in background per una sezione non elaborata di dati specifici del produttore di tipi (0xFF) che corrisponde solo al secondo byte della sezione con 0x00 verrà rifiutato, in quanto corrisponde al byte più significativo del campo identificatore società. Tutti gli identificatori aziendali assegnati a SIG hanno attualmente questo byte impostato su 0x00 e l'esecuzione di una corrispondenza parziale con un solo byte può potenzialmente causare un eccesso di annunci ricevuti quando in presenza di più inserzionisti. Questo potrebbe influire significativamente sulla durata della batteria del sistema.

L'uso di bluetoothLEAdvertisementWatcherTrigger è limitato dalle risorse di offload hardware disponibili. I nuovi dispositivi Windows con il supporto delle estensioni HCI nella radio Bluetooth locale offrono una scansione degli annunci di alimentazione inferiore, migliorando la durata della batteria per scenari a lungo termine, ad esempio i beacon. La quantità di risorse hardware disponibili dipende dall'utilizzo a livello di radio e dal sistema corrente e i tentativi di registrazione per questo trigger restituiranno BluetoothError.ResourceInUse quando non sono disponibili altre risorse. Le app devono usare queste risorse con moderazione per fornire uno scenario incentrato e efficiente nel guardare i dati univoci degli annunci pubblicitari solo per gli inserzionisti remoti specifici che sono necessari.

Anche se molti nuovi dispositivi Windows hanno il supporto delle estensioni HCI, alcuni potrebbero non essere disponibili, in particolare nei casi di aggiornamenti su dispositivi meno recenti di versioni precedenti di Windows. In questi casi, Windows emulerà il filtro hardware nel software, fornendo un massimo di 20 condizioni di trigger per dispositivo, in tutte le app nel sistema. Quando si usa questo emulazione software, i tentativi di registrazione per le risorse trigger una volta raggiunto il valore massimo causeranno la generazione di un'eccezione, con errore ERROR_NO_SYSTEM_RESOURCES (0x800705AA).

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
2004 19041 AllowExtendedAdvertisements

Costruttori

BluetoothLEAdvertisementWatcherTrigger()

Crea una nuova istanza della classe BluetoothLEAdvertisementWatcherTrigger .

Proprietà

AdvertisementFilter

Ottiene o imposta la configurazione del filtro pubblicitario Bluetooth LE che usa il filtro basato sulla sezione del payload.

AllowExtendedAdvertisements

Consente la ricezione di annunci pubblicitari utilizzando il formato Extended Advertising. Il valore predefinito è False.

MaxOutOfRangeTimeout

Ottiene il timeout massimo di intervallo supportato per la proprietà SignalStrengthFilter di questo trigger.

MaxSamplingInterval

Ottiene l'intervallo di campionamento massimo supportato per la proprietà SignalStrengthFilter di questo trigger. L'intervallo di campionamento massimo viene usato per disattivare il filtro di campionamento e attivare solo gli eventi ricevuti in base al dispositivo in arrivo e fuori intervallo.

MinOutOfRangeTimeout

Ottiene il timeout minimo di intervallo supportato per la proprietà SignalStrengthFilter di questo trigger.

MinSamplingInterval

Ottiene l'intervallo di campionamento minimo supportato per la proprietà SignalStrengthFilter di questo trigger. L'intervallo di campionamento minimo per il watcher in background non può essere zero a differenza della controparte in primo piano.

SignalStrengthFilter

Ottiene o imposta la configurazione del filtro pubblicitario Bluetooth LE che usa il filtro basato sulla forza del segnale.

Si applica a

Vedi anche