Vyvíjam aplikáciu pre AndroidVyhľadáva existujúce zariadenia s podporou Bluetooth. Zatiaľ sa mi podarilo získať názov zariadenia + silu signálu v dBm. A tu prichádza moja otázka. Existuje nejaký spôsob, ako filtrovať iba zariadenie s najsilnejším signálom alebo inými slovami iba zobraziť ukážku najbližšieho zariadenia?
Vopred ďakujem
odpovede:
0 pre odpoveď č. 1Predpokladám, že vaše hodnoty RSSI sú typu int
, ak áno, na určenie vašej najvyššej hodnoty nepoužívajte niečo podobné nasledujúcemu:
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];
}
}
Na konci tejto slučky highest
bude obsahovať najbližšie zariadenie RSSI alebo Bluetooth. Ak máte svoje zariadenia zabalené v nejakej triede, mali by ste byť schopní upraviť tento kód tak, aby porovnával svoju hodnotu RSSI.