BluetoothLEAdvertisementWatcherTrigger Klasse

Definition

Stellt einen Trigger dar, der registriert ist, um im Hintergrund nach Bluetooth LE-Ankündigung zu suchen.

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
Vererbung
Object Platform::Object IInspectable BluetoothLEAdvertisementWatcherTrigger
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Hinweise

Eine Hintergrundaufgabe wird gestartet, wenn eine Ankündigung empfangen wird.

Dieser Trigger funktioniert ähnlich wie die BluetoothAdvertisementWatcher-Klasse , mit der Ausnahme, dass es mehr Einschränkungen gibt, da die App Werbung im Hintergrund empfangen kann. Insbesondere wird genau ein einzelnes Filtermuster im Hintergrund akzeptiert (nicht mehr, nicht weniger).

Nach der Registrierung wird der Hintergrundüberwachungsdienst nach bestem Aufwand gewartet. Eine Hintergrundaufgabe wird gestartet, um die App zu benachrichtigen, wenn eine Ankündigung empfangen wird, die dem über den Trigger konfigurierten Filter entspricht. Die App wird auch über Fehler oder Unterbrechungen des Hintergrundüberwachungsmoduls über die im Hintergrundaufgabenkontext bereitgestellten Triggerdetails benachrichtigt. Um den Empfang der Ankündigungen zu beenden, muss die Registrierung der diesem Trigger zugeordneten Hintergrundaufgabe aufgehoben werden.

Die folgenden Ankündigungstypen dürfen aufgrund ihrer generischen Natur nicht im Hintergrund gefiltert werden

  • Flags (0x01)
  • Geräteklasse (0x0D)
  • Security Manager-Out-of-Band-Flags (0x11)
  • Darstellung (0x19)
  • LE-Rolle (0x1C)

Ein Hintergrundfilter für einen Rohabschnitt vom Typ herstellerspezifische Daten (0xFF), der nur für das zweite Byte des Abschnitts mit 0x00 übereinstimmt, wird abgelehnt, da er dem bedeutendsten Byte des Felds "Unternehmensbezeichner" entspricht. Bei allen SIG-zugewiesenen Unternehmensbezeichnern ist dieses Byte derzeit auf 0x00 festgelegt, und eine partielle Übereinstimmung mit nur einem einzelnen Byte kann möglicherweise zu einem Übermaß an empfangener Werbung führen, wenn mehrere Werbekunden vorhanden sind. Dies kann sich erheblich auf die Akkulaufzeit des Systems auswirken.

Die Verwendung eines BluetoothLEAdvertisementWatcherTriggers wird durch die verfügbaren Hardwareauslagerungsressourcen eingeschränkt. Neue Windows-Geräte mit HCI-Erweiterungsunterstützung im lokalen Bluetooth-Radio bieten eine geringere Leistung für die Anzeigeüberprüfung und verbessern die Akkulaufzeit für langfristige Szenarien wie Beacons. Die Menge der verfügbaren Hardwareressourcen hängt von der Funk- und der aktuellen systemweiten Nutzung ab, und Versuche, sich für diesen Trigger zu registrieren, geben BluetoothError.ResourceInUse zurück, wenn keine weiteren Ressourcen verfügbar sind. Apps sollten diese Ressourcen sparsam nutzen, um ein fokussiertes, energieeffizientes Szenario bereitzustellen, in dem nur für die spezifischen Remote-Werbekunden, die benötigt werden, nach den eindeutigen Werbedaten überwacht wird.

Während viele neue Windows-Geräte HCI-Erweiterungen unterstützen, können einige nicht, insbesondere bei Upgrades auf älteren Geräten von älteren Windows-Versionen. In diesen Fällen emuliert Windows die Hardwarefilterung in der Software und bietet maximal 20 Triggerbedingungen pro Gerät für alle Apps im System. Bei Verwendung dieser Softwareemulation wird bei Versuchen, sich für Triggerressourcen zu registrieren, sobald das Maximum erreicht wurde, eine Ausnahme mit ERROR_NO_SYSTEM_RESOURCES (0x800705AA) ausgelöst.

Versionsverlauf

Windows-Version SDK-Version Mehrwert
2004 19041 AllowExtendedAdvertisements

Konstruktoren

BluetoothLEAdvertisementWatcherTrigger()

Erstellt eine neue instance der BluetoothLEAdvertisementWatcherTrigger-Klasse.

Eigenschaften

AdvertisementFilter

Ruft die Konfiguration der Bluetooth LE-Ankündigungsfilterung ab, die die auf Nutzlastabschnitten basierende Filterung verwendet, oder legt diese fest.

AllowExtendedAdvertisements

Ermöglicht den Empfang von Anzeigen im Format "Erweiterte Werbung". Der Standardwert lautet „False“.

MaxOutOfRangeTimeout

Ruft das maximale Timeout außerhalb des Bereichs ab, das für die SignalStrengthFilter-Eigenschaft dieses Triggers unterstützt wird.

MaxSamplingInterval

Ruft das maximale Samplingintervall ab, das für die SignalStrengthFilter-Eigenschaft dieses Triggers unterstützt wird. Das maximale Samplingintervall wird verwendet, um den Samplingfilter zu deaktivieren und nur empfangene Ereignisse basierend auf dem Gerät auszulösen, das in den und außerhalb des Bereichs kommt.

MinOutOfRangeTimeout

Ruft das minimale Timeout außerhalb des Bereichs ab, das für die SignalStrengthFilter-Eigenschaft dieses Triggers unterstützt wird.

MinSamplingInterval

Ruft das minimale Samplingintervall ab, das für die SignalStrengthFilter-Eigenschaft dieses Triggers unterstützt wird. Das minimale Samplingintervall für die Hintergrundüberwachung darf im Gegensatz zu seinem Vordergrund-Gegenstück nicht 0 (null) sein.

SignalStrengthFilter

Ruft die Konfiguration der Bluetooth LE-Ankündigungsfilterung ab, die signalstärkebasierte Filterung verwendet, oder legt diese fest.

Gilt für:

Weitere Informationen