BluetoothSignalStrengthFilter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于配置接收的信号强度指示器 (基于 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
- 继承
- 属性
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) 事件的采样间隔。 |