4

最近,我发现了一种看似很酷的方式,使用Google Nearby API在设备之间进行通信。浏览文档并没有回答我的问题 - 是否可以实时测量连接信号强度,还是应该发明一些杂志,例如测量发送和接收数据的时间或其他东西?Google Nearby Connection API:测量信号强度

谢谢。

+0

从什么参考文档中可以找到,长相没有。 – Andy

+0

这是关于Nearby Connection API或Nearby Messages API吗?因为接受的答案似乎是消息,而问题标题是关于连接... – StefanTo

回答

4

如螺纹Google Nearby Messages - Cancel initial link between devices表示邻近API的开发者:

今天,最近不公开直接距离

他建议使用BLE RSII代替

你如果其中一个设备能够进行BLE广告,则可以通过测量BLE RSSI来获得距离的近似值。这对设备的保持,天线增益和环境因素很敏感,但比随机更好。

虽然没有直接的“卷尺”API。

1

如果你的问题其实是关于“邻近连接API”,而不是“最近的消息API”,你可以简单地检查WiFi的信号强度:

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 
int numberOfLevels = 5; 
WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);