仅列出具有最高 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 值。