最近我发现了一种看似很酷的方式,使用 Google Nearby API 在设备之间进行通信。浏览文档并没有回答我的问题 - 是否可以实时测量连接信号强度,或者我应该发明一些拼凑的东西,例如测量发送和接收数据的时间还是其他什么?
谢谢你。
正如附近 API 的开发人员在线程 Google 附近消息 - 取消设备之间的初始链接中所述:
今天,Nearby 不直接暴露距离他建议改用BLE RSSI
如果其中一台设备能够进行 BLE 广告,您可以通过测量 BLE RSSI 来粗略估计距离。这对设备的握持方式、天线增益和环境因素很敏感,但比随机的要好。但是,没有直接的“卷尺”API。
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int numberOfLevels = 5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);