BluetoothLEAdvertisementWatcherTrigger Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |
ScanParameters |
Representa un desencadenador que está registrado para examinar el anuncio de Bluetooth LE en segundo 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. |
UseCodedPhy |
Representa un desencadenador que está registrado para examinar el anuncio de Bluetooth LE en segundo plano. |
UseUncoded1MPhy |
Representa un desencadenador que está registrado para examinar el anuncio de Bluetooth LE en segundo plano. |