Поделиться через


BluetoothLEAdvertisementWatcherTrigger Класс

Определение

Представляет триггер, зарегистрированный для сканирования объявления Bluetooth LE в фоновом режиме.

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
Наследование
Object Platform::Object IInspectable BluetoothLEAdvertisementWatcherTrigger
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Фоновая задача запускается при получении объявления.

Этот триггер работает аналогично классу BluetoothAdvertisementWatcher , за исключением того, что он имеет больше ограничений, так как позволяет приложению получать объявления в фоновом режиме. Примечательно, что в фоновом режиме принимается только один шаблон фильтра (не больше, не меньше).

После регистрации фоновый наблюдатель обслуживается наилучшим образом. Будет запущена фоновая задача, чтобы уведомить приложение о получении объявления, соответствующего фильтру, настроенного с помощью триггера. Приложение также получает уведомление о сбоях или прерывании фонового наблюдателя с помощью сведений о триггере, указанных в контексте фоновой задачи. Чтобы прекратить получение объявлений, фоновая задача, связанная с этим триггером, должна быть отменена.

Следующие типы объявлений не могут быть отфильтрованы в фоновом режиме из-за их универсального характера

  • Флаги (0x01)
  • Класс устройства (0x0D)
  • Флаги внешнего контроллера безопасности (0x11)
  • Внешний вид (0x19)
  • Роль LE (0x1C)

Фильтр фона для необработанного раздела типа данных производителя (0xFF), который соответствует только второму байту раздела с 0x00, будет отклонен, так как он соответствует наиболее значимому байту поля идентификатора компании. Все идентификаторы компании, назначаемые SIG, в настоящее время имеют этот байт 0x00 и выполнение частичного сопоставления только с одним байтом может привести к превышению полученных рекламных объявлений в присутствии нескольких рекламодателей. Это может значительно повлиять на время работы батареи системы.

Использование BluetoothLEAdvertisementWatcherTrigger ограничено доступными ресурсами аппаратной разгрузки. Новые устройства с Windows с поддержкой расширений HCI на локальном радио Bluetooth обеспечивают более низкую мощность сканирования рекламы, что повышает время работы батареи для долгосрочных сценариев, таких как маяки. Объем доступных аппаратных ресурсов зависит от радио и текущего использования всей системы, и попытки регистрации для этого триггера будут возвращать BluetoothError.ResourceInUse , если больше нет доступных ресурсов. Приложения должны использовать эти ресурсы, чтобы обеспечить целенаправленный, эффективный сценарий при просмотре уникальных рекламных данных только для конкретных удаленных рекламодателей, которые необходимы.

Хотя многие новые устройства Windows поддерживают расширения HCI, некоторые из них могут не поддерживаться, особенно в случае обновления на более старых устройствах с более старых версий Windows. В таких случаях Windows будет эмулировать фильтрацию оборудования в программном обеспечении, обеспечивая не более 20 условий триггера для каждого устройства во всех приложениях в системе. При использовании этой программной эмуляции попытки зарегистрировать ресурсы триггера после достижения максимального значения вызовут исключение с ERROR_NO_SYSTEM_RESOURCES ошибки (0x800705AA).

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
2004 19041 AllowExtendedAdvertisements

Конструкторы

BluetoothLEAdvertisementWatcherTrigger()

Создает новый экземпляр класса BluetoothLEAdvertisementWatcherTrigger .

Свойства

AdvertisementFilter

Возвращает или задает конфигурацию фильтрации рекламы Bluetooth LE, которая использует фильтрацию на основе разделов полезных данных.

AllowExtendedAdvertisements

Включает прием объявлений с использованием формата расширенной рекламы. Значение по умолчанию — False.

MaxOutOfRangeTimeout

Возвращает максимальное время ожидания вне диапазона, поддерживаемое для свойства SignalStrengthFilter этого триггера.

MaxSamplingInterval

Возвращает максимальный интервал выборки, поддерживаемый для свойства SignalStrengthFilter этого триггера. Максимальный интервал выборки используется для отключения фильтра выборки и активации только полученных событий в зависимости от того, в которое устройство входит и выходит за пределы диапазона.

MinOutOfRangeTimeout

Возвращает минимальное время ожидания вне диапазона, поддерживаемое для свойства SignalStrengthFilter этого триггера.

MinSamplingInterval

Возвращает минимальный интервал выборки, поддерживаемый для свойства SignalStrengthFilter этого триггера. Минимальный интервал выборки для фонового наблюдателя не может быть равен нулю в отличие от его аналога переднего плана.

ScanParameters

Представляет триггер, зарегистрированный для сканирования объявления Bluetooth LE в фоновом режиме.

SignalStrengthFilter

Возвращает или задает конфигурацию фильтрации рекламы Bluetooth LE, которая использует фильтрацию на основе силы сигнала.

UseCodedPhy

Представляет триггер, зарегистрированный для сканирования объявления Bluetooth LE в фоновом режиме.

UseUncoded1MPhy

Представляет триггер, зарегистрированный для сканирования объявления Bluetooth LE в фоновом режиме.

Применяется к

См. также раздел