Jak uzyskać odległość routera za pomocą menedżera Android wifi. Zastanawiałem się również, skąd będę wiedział, jakie poziomy wyników skanowania wykażą, że router jest nieosiągalny.
Związane z: https://developer.android.com/reference/android/net/wifi/ScanResult.html
To, co myślałem o użyciu, aby uzyskać dystans, jeśli ktoś może to potwierdzić, zadziałałoby, co byłoby bardzo cenne lub: https://en.wikipedia.org/wiki/Free-space_path_loss
Odpowiedzi:
0 dla odpowiedzi № 1Chociaż nie ma możliwości zmierzenia rzeczywistej odległości (jak w jednostkach takich jak stopy lub metry), można zmierzyć siłę sygnału za pomocą poziomów. Oto, jak to zrobić:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int Levels = 5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int signalLevel = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), Levels);
Ten kod mierzy sygnał w 5-stopniowych przyrostach (Gdzie 1 jest najgorszy, a 5 jest najlepszy). Aby było to dokładniejsze, możesz zmienić Levels
zmienna
Aby znaleźć odległość, odwołaj się do tego stanowisko
Mam nadzieję że to pomoże!