仅列出具有最高RSSI的设备

时间:2015-01-12 21:46:34

标签: java android bluetooth

我正在开发一个基于Android的应用程序,它正在扫描现有的蓝牙设备。到目前为止,我设法得到设备的名称+信号强度,单位为dBm。这是我的问题。有没有办法只过滤信号最强的设备,换句话说只是为了预览最近的设备?

提前致谢

1 个答案:

答案 0 :(得分:0)

我假设你的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或蓝牙设备。如果您的设备包含在某个类中,您应该能够修改此代码以比较您的RSSI值。