BluetoothLEAdvertisementWatcherTrigger Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |
ScanParameters |
Stellt einen Trigger dar, der registriert ist, um im Hintergrund nach Bluetooth LE-Ankündigung zu suchen. |
SignalStrengthFilter |
Ruft die Konfiguration der Bluetooth LE-Ankündigungsfilterung ab, die signalstärkebasierte Filterung verwendet, oder legt diese fest. |
UseCodedPhy |
Stellt einen Trigger dar, der registriert ist, um im Hintergrund nach Bluetooth LE-Ankündigung zu suchen. |
UseUncoded1MPhy |
Stellt einen Trigger dar, der registriert ist, um im Hintergrund nach Bluetooth LE-Ankündigung zu suchen. |