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
- Наследование
- Атрибуты
- Реализации
Требования к 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 в фоновом режиме. |