我创建了一个小型测试Android应用程序来扫描周围的无线网络。
当我在我的galaxy nexus(jellybean)上运行应用程序时,结果返回:
( SSID, BSSID, Capabilities, level, timestamp).
然而,当我在Nexus 5(KitKat)上运行相同的应用程序时,结果会返回:
( SSID, BSSID, Capabilities, level, timestamp, distance (cm), distanceSd(cm) ).
我似乎无法在Android WiFi API文档中找到任何有关距离的信息。有谁知道发生了什么?
答案 0 :(得分:0)
如果您检查ScanResult.java源代码here,则可以在其中一个ScanResult
构造函数中验证是否存在int distCm
和int distSdCm
个参数(cm)和distanceSd(cm)。
答案 1 :(得分:0)
很好注意!
Android可能已经将其API 更新为IEEE 802.11
上的新版本。
有一项新的更新,使用 TriLateration 提供室内定位。
此新功能在名为Fine Timing Measurement (FTM)
的程序包上添加了时间戳,提供了估计从AP到接收器的距离的功能。
如果您想了解更多信息,请搜索IEEE 802.11 REVmc
: