如何使用android wifi管理器获取路由器的距离。我还想知道如何知道扫描结果会显示路由器无法访问的级别。
相关:https://developer.android.com/reference/android/net/wifi/ScanResult.html
如果有人能够证实这样做会有所帮助,那么我正在考虑使用该距离,我会非常感激或:https://en.wikipedia.org/wiki/Free-space_path_loss
答案 0 :(得分:1)
虽然无法测量实际距离(例如英尺或米等单位),但您可以测量信号强度和水平。这是你如何做到的:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int Levels = 5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int signalLevel = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), Levels);
这里的代码将以5级递增的方式测量信号(其中1表示最差,5表示最佳)。为了使此更准确,您可以更改Levels
变量
要查找距离,请参阅此post
希望这有帮助!