Share via


BluetoothLEAdvertisementWatcherTrigger Classe

Definição

Representa um gatilho que está registrado para verificar se há anúncio de LE Bluetooth em 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
Herança
Object Platform::Object IInspectable BluetoothLEAdvertisementWatcherTrigger
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

Uma tarefa em segundo plano é iniciada quando um anúncio é recebido.

Esse gatilho funciona de forma semelhante à classe BluetoothAdvertisementWatcher , com a exceção de que ele tem mais restrições, pois permite que o aplicativo receba anúncios em segundo plano. Notavelmente, exatamente um único padrão de filtro é aceito em segundo plano (não mais, nem menos).

Depois de registrado, o observador de segundo plano é atendido da melhor maneira possível. Uma tarefa em segundo plano será iniciada para notificar o aplicativo quando um anúncio correspondente ao filtro configurado por meio do gatilho for recebido. O aplicativo também é notificado sobre falhas ou interrupção do observador em segundo plano por meio dos detalhes do gatilho fornecidos no contexto da tarefa em segundo plano. Para parar de receber os anúncios, a tarefa em segundo plano associada a esse gatilho deve ser cancelada.

Os tipos de anúncio a seguir não têm permissão para serem filtrados em segundo plano devido à sua natureza genérica

  • Sinalizadores (0x01)
  • Classe de dispositivo (0x0D)
  • Sinalizadores fora de banda do Gerenciador de Segurança (0x11)
  • Aparência (0x19)
  • Função LE (0x1C)

Um filtro em segundo plano para uma seção bruta de dados específicos do fabricante do tipo (0xFF) que corresponde apenas ao segundo byte da seção com 0x00 será rejeitado, pois corresponde ao byte mais significativo do campo identificador da empresa. Todos os identificadores de empresa atribuídos por SIG atualmente têm esse byte definido como 0x00 e executar uma correspondência parcial com apenas um único byte pode resultar potencialmente em um excesso de anúncios recebidos quando estiverem presentes em vários anunciantes. Isso pode afetar significativamente a duração da bateria do sistema.

O uso de um BluetoothLEAdvertisementWatcherTrigger é limitado pelos recursos de descarregamento de hardware disponíveis. Novos dispositivos Windows com suporte a Extensões HCI na rádio Bluetooth local fornecem verificação de anúncio de energia mais baixa, melhorando a duração da bateria para cenários de longo prazo, como beacons. A quantidade de recursos de hardware disponíveis depende do rádio e do uso atual em todo o sistema, e as tentativas de se registrar para esse gatilho retornarão BluetoothError.ResourceInUse quando não houver mais recursos disponíveis. Os aplicativos devem usar esses recursos com moderação para fornecer um cenário focado e eficiente de energia para observar os dados de anúncio exclusivos apenas para os anunciantes remotos específicos que são necessários.

Embora muitos novos dispositivos Windows tenham suporte a Extensões HCI, alguns podem não ter, especialmente em casos de atualizações em dispositivos mais antigos de versões mais antigas do Windows. Nesses casos, o Windows emulará a filtragem de hardware no software, fornecendo no máximo 20 condições de gatilho por dispositivo, em todos os aplicativos no sistema. Ao usar essa emulação de software, as tentativas de se registrar para recursos de gatilho depois que o máximo for atingido farão com que uma exceção seja gerada, com ERROR_NO_SYSTEM_RESOURCES de erro (0x800705AA).

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
2004 19041 AllowExtendedAdvertisements

Construtores

BluetoothLEAdvertisementWatcherTrigger()

Cria uma nova instância da classe BluetoothLEAdvertisementWatcherTrigger .

Propriedades

AdvertisementFilter

Obtém ou define a configuração da filtragem de anúncio do Bluetooth LE que usa a filtragem baseada em seção de conteúdo.

AllowExtendedAdvertisements

Habilita a recepção de anúncios usando o formato de Publicidade Estendida. Usa False como padrão.

MaxOutOfRangeTimeout

Obtém o tempo limite máximo fora do intervalo com suporte para a propriedade SignalStrengthFilter desse gatilho.

MaxSamplingInterval

Obtém o intervalo máximo de amostragem com suporte para a propriedade SignalStrengthFilter desse gatilho. O intervalo máximo de amostragem é usado para desativar o filtro de amostragem e disparar apenas eventos recebidos com base no dispositivo entrando e saindo do intervalo.

MinOutOfRangeTimeout

Obtém o tempo limite mínimo fora do intervalo com suporte para a propriedade SignalStrengthFilter desse gatilho.

MinSamplingInterval

Obtém o intervalo mínimo de amostragem com suporte para a propriedade SignalStrengthFilter desse gatilho. O intervalo mínimo de amostragem para o observador de segundo plano não pode ser zero ao contrário de sua contraparte em primeiro plano.

SignalStrengthFilter

Obtém ou define a configuração da filtragem de anúncio do Bluetooth LE que usa a filtragem baseada em força do sinal.

Aplica-se a

Confira também