Estou desenvolvendo um aplicativo baseado no Android queestá procurando dispositivos existentes habilitados para Bluetooth. Até agora consegui obter o nome dos dispositivos + a força do sinal em dBm. E aqui vem a minha pergunta. Existe alguma maneira de filtrar apenas o dispositivo com o sinal mais forte ou, em outras palavras, apenas para visualizar o dispositivo mais próximo?
desde já, obrigado
Respostas:
0 para resposta № 1Presumo que seus valores RSSI sejam do tipo int
, se sim, por que não usar algo semelhante ao seguinte para determinar seu valor mais alto:
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];
}
}
No final desse loop highest
conterá o dispositivo RSSI ou Bluetooth mais próximo. Se você tiver seus dispositivos agrupados em alguma classe, poderá modificar esse código para comparar seu valor RSSI.