Android Wifi距离

时间:2018-03-09 03:15:10

标签: android wifi wifimanager

如何使用android wifi管理器获取路由器的距离。我还想知道如何知道扫描结果会显示路由器无法访问的级别。

相关:https://developer.android.com/reference/android/net/wifi/ScanResult.html

如果有人能够证实这样做会有所帮助,那么我正在考虑使用该距离,我会非常感激或:https://en.wikipedia.org/wiki/Free-space_path_loss

1 个答案:

答案 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

希望这有帮助!