BluetoothSignalStrengthFilter 类

定义

用于配置接收的信号强度指示器 (基于 RSSI) 筛选的参数进行分组。

public ref class BluetoothSignalStrengthFilter 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 BluetoothSignalStrengthFilter 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 BluetoothSignalStrengthFilter 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 BluetoothSignalStrengthFilter
[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 BluetoothSignalStrengthFilter
function BluetoothSignalStrengthFilter()
Public NotInheritable Class BluetoothSignalStrengthFilter
继承
Object Platform::Object IInspectable BluetoothSignalStrengthFilter
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
应用功能
bluetooth

注解

BluetoothSignalStrengthFilter 类仅接受其属性的有限范围。 但是,根据应用使用此类的方式,可能会有其他限制。 例如,RSSI 值的有效范围因蓝牙 LE 和蓝牙 BR/EDR 设备而异。

这些属性的有效范围如下所示:

  • InRangeThresholdInDBm - 在范围内要考虑的 RSSI 事件的最小阈值。 有效范围是 -128 到 127。
  • OutOfRangeThresholdInDBm - RSSI 事件要被视为范围外的最低阈值。 有效范围是 -128 到 127。
  • OutOfRangeTimeout - RSSI 事件的超时时间被视为范围外。 有效范围等于或大于 1 秒。
  • SamplingInterval - 对 RSSI 事件进行采样的间隔。 有效范围等于或大于 0。 任何大于或等于 25.5 秒的采样间隔都将完全禁用采样。 在此特殊情况下,筛选基于触发器。 筛选任何设备的 RSSI 值有两种可能的状态:
  • 在范围内。
  • 范围外。 如果考虑在范围内,则传播任何 RSSI 事件。 这包括 RSSI 值小于或等于 OutOfRangeThresholdInDBm 的事件,只要 OutOfRangeTimeout 尚未过期。

蓝牙LEAdvertisementWatcher 类使用时,此类对其属性有其他限制。 当 BluetoothLEAdvertisementWatcher 使用 BluetoothLEAdvertisementWatcher 的有效范围之外的参数启动时,将引发异常。

通常,此 API 有三个main用例:

InRangeThresholdInDBm OutOfRangeThresholdInDBm OutOfRangeTimeout SamplingInterval 行为
任意 <= InRangeThresholdInDBm >= 1 0 只要 RSSI 事件被视为“在范围内”,就会收到所有 RSSI 事件。 如果 OutOfRangeTimeout 在没有任何事件或 RSSI 值大于 OutOfRangeThresholdInDBm 的事件的情况下过期,则事件被视为“超出范围”。 OutOfRangeTimeout 过期时不会生成其他事件。
任意 <= InRangeThresholdInDBm >= 1 (0、25.5) 将按 SamplingInterval 定义的定期间隔接收 RSSI 事件,只要它们被视为“在范围内”。 RSSI 值将是 SamplingInterval 中接收的事件值的平均值。 如果在 SamplingInterval 中未收到任何事件,则不会传播任何事件。 如果 OutOfRangeTimeout 过期时没有任何事件,或者没有任何 RSSI 值大于 OutOfRangeThresholdInDBm 的事件,则事件被视为“超出范围”,并且将生成一个具有上次接收 RSSI 值的事件。 如果最后一个 RSSI 值高于 OutOfRangeThresholdInDBm,则该值设置为 -127 dBm。
任意 <= InRangeThresholdInDBm >= 1 >=25.5 (禁用) 当 RSSI 事件从“范围外”转换为“在范围内”时,将收到 RSSI 事件。 如果 OutOfRangeTimeout 过期时没有任何事件,或者没有任何 RSSI 值大于 OutOfRangeThresholdInDBm 的事件,则事件被视为“超出范围”,并且将生成一个具有上次接收 RSSI 值的事件。 如果最后一个 RSSI 值高于 OutOfRangeThresholdInDBm,则它设置为 OutOfRangeThresholdInDBm

构造函数

BluetoothSignalStrengthFilter()

创建新的 BluetoothSignalStrengthFilter 对象。

属性

InRangeThresholdInDBm

接收的最小信号强度指示器 (RSSI) 值(以 dBm 为单位),如果以前的事件被视为范围外,RSSI 事件将传播或考虑在范围内。

OutOfRangeThresholdInDBm

接收的最小信号强度指示器 (RSSI) 值(以 dBm 为单位),RSSI 事件将被视为范围外。

OutOfRangeTimeout

接收的信号强度指示器的超时 (RSSI) 事件被视为在范围外。

SamplingInterval

接收的信号强度指示器 (RSSI) 事件的采样间隔。

适用于

另请参阅