BluetoothLEAdvertisementWatcherTrigger Clase

Definición

Representa un desencadenador que está registrado para examinar el anuncio de Bluetooth LE en segundo plano.

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
Herencia
Object Platform::Object IInspectable BluetoothLEAdvertisementWatcherTrigger
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Comentarios

Se inicia una tarea en segundo plano cuando se recibe un anuncio.

Este desencadenador funciona de forma similar a la clase BluetoothAdvertisementWatcher , con la excepción de que tiene más restricciones, ya que permite a la aplicación recibir anuncios en segundo plano. En particular, exactamente se acepta un patrón de filtro único en segundo plano (no más, no menos).

Una vez registrado, el monitor de fondo se sirve de la mejor manera. Se iniciará una tarea en segundo plano para notificar a la aplicación cuando se reciba un anuncio que coincida con el filtro configurado a través del desencadenador. La aplicación también recibe notificaciones de errores o interrupciones del monitor en segundo plano a través de los detalles del desencadenador proporcionados en el contexto de la tarea en segundo plano. Para dejar de recibir los anuncios, se debe anular el registro de la tarea en segundo plano asociada a este desencadenador.

No se permite filtrar los siguientes tipos de anuncios en segundo plano debido a su naturaleza genérica.

  • Marcas (0x01)
  • Clase de dispositivo (0x0D)
  • Marcas fuera de banda (0x11) del Administrador de seguridad
  • Apariencia (0x19)
  • Rol LE (0x1C)

Se rechazará un filtro en segundo plano para una sección sin procesar de datos específicos del fabricante (0xFF) que solo coincida con el segundo byte de la sección con 0x00, ya que corresponde al byte más significativo del campo identificador de empresa. Todos los identificadores de empresa asignados por SIG tienen actualmente este byte establecido en 0x00 y realizar una coincidencia parcial con solo un solo byte puede dar lugar a un exceso de anuncios recibidos cuando hay varios anunciantes. Esto podría afectar significativamente la duración de la batería del sistema.

El uso de bluetoothLEAdvertisementWatcherTrigger está limitado por los recursos de descarga de hardware disponibles. Los nuevos dispositivos Windows con compatibilidad con extensiones HCI en la radio Bluetooth local proporcionan un análisis de anuncios de menor potencia, lo que mejora la duración de la batería para escenarios a largo plazo, como balizas. La cantidad de recursos de hardware disponibles depende del uso de radio y del sistema actual, y los intentos de registrarse para este desencadenador devolverán BluetoothError.ResourceInUse cuando no haya más recursos disponibles. Las aplicaciones deben usar estos recursos con moderación para proporcionar un escenario centrado y eficaz en la inspección de los datos de anuncios únicos solo para los anunciantes remotos específicos que son necesarios.

Aunque muchos dispositivos Windows nuevos tienen compatibilidad con extensiones HCI, es posible que algunos no, especialmente en casos de actualizaciones en dispositivos anteriores de versiones anteriores de Windows. En estos casos, Windows emulará el filtrado de hardware en software, proporcionando un máximo de 20 condiciones de desencadenador por dispositivo, en todas las aplicaciones del sistema. Al usar esta emulación de software, los intentos de registrarse para los recursos desencadenadores una vez alcanzado el máximo harán que se produzca una excepción, con el error ERROR_NO_SYSTEM_RESOURCES (0x800705AA).

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
2004 19041 AllowExtendedAdvertisements

Constructores

BluetoothLEAdvertisementWatcherTrigger()

Crea una nueva instancia de la clase BluetoothLEAdvertisementWatcherTrigger .

Propiedades

AdvertisementFilter

Obtiene o establece la configuración del filtrado de anuncios de Bluetooth LE que usa el filtrado basado en secciones de carga.

AllowExtendedAdvertisements

Permite la recepción de anuncios con el formato de publicidad extendida. El valor predeterminado es False.

MaxOutOfRangeTimeout

Obtiene el tiempo de espera máximo fuera del intervalo admitido para la propiedad SignalStrengthFilter de este desencadenador.

MaxSamplingInterval

Obtiene el intervalo de muestreo máximo admitido para la propiedad SignalStrengthFilter de este desencadenador. El intervalo de muestreo máximo se usa para desactivar el filtro de muestreo y solo desencadenar eventos recibidos en función del dispositivo que entra y sale del intervalo.

MinOutOfRangeTimeout

Obtiene el tiempo de espera mínimo fuera del intervalo admitido para la propiedad SignalStrengthFilter de este desencadenador.

MinSamplingInterval

Obtiene el intervalo de muestreo mínimo admitido para la propiedad SignalStrengthFilter de este desencadenador. El intervalo de muestreo mínimo para el monitor de fondo no puede ser cero a diferencia de su homólogo en primer plano.

SignalStrengthFilter

Obtiene o establece la configuración del filtrado de anuncios bluetooth LE que usa el filtrado basado en la intensidad de la señal.

Se aplica a

Consulte también