仅列出具有最高 RSSI 的设备
Listing only the device with the highest RSSI
我正在开发一个基于 android 的应用程序,用于扫描现有的蓝牙设备。到目前为止,我设法获得了设备名称 + 以 dBm 为单位的信号强度。我的问题来了。有没有办法只过滤信号最强的设备,或者换句话说只是预览最近的设备?
提前致谢
我假设您的 RSSI 值是 int
类型,如果是这样,为什么不使用类似于以下的内容来确定您的最大值:
int[] rssiValues = {20, 40, 45, 62, 85, 9, 12 };
int highest = rssiValues[0];
for (int index = 1; index < rssiValues.length; index ++) {
if (rssiValues[index] > highest) {
highest = rssiValues [index];
}
}
在此循环结束时 highest
将包含最近的 RSSI 或蓝牙设备。如果您的设备包裹在一些 class 中,您应该能够修改此代码以比较您的 RSSI 值。
我正在开发一个基于 android 的应用程序,用于扫描现有的蓝牙设备。到目前为止,我设法获得了设备名称 + 以 dBm 为单位的信号强度。我的问题来了。有没有办法只过滤信号最强的设备,或者换句话说只是预览最近的设备?
提前致谢
我假设您的 RSSI 值是 int
类型,如果是这样,为什么不使用类似于以下的内容来确定您的最大值:
int[] rssiValues = {20, 40, 45, 62, 85, 9, 12 };
int highest = rssiValues[0];
for (int index = 1; index < rssiValues.length; index ++) {
if (rssiValues[index] > highest) {
highest = rssiValues [index];
}
}
在此循环结束时 highest
将包含最近的 RSSI 或蓝牙设备。如果您的设备包裹在一些 class 中,您应该能够修改此代码以比较您的 RSSI 值。