目标是没有真正的距离。这是更简单的事情。
目标是检查另一个设备是否非常接近。对或错。假设 10 或 15 厘米很近,所以我们的检查是正确的,任何更远的设备都无法通过检查并且是错误的。
我的第一种方法是使用api的方法fetchUuidsWithSdp()
,但失败了!
无论是几厘米远的设备还是大房间另一端的设备,延迟似乎都是一样的!
即使没有蓝牙,任何解决方案都是可以接受的。例如,我对wifi direct p2p协议完全不熟悉。也许那里可能有一些有用的东西可以粗略估计距离。
编辑:我正在阅读有关接收信号强度指示器(RSSI)的信息。这可以用于我们的特殊情况,粗略估计设备之间的距离。但也许可以结合一些东西来提高准确性。
编辑:我将 Ralgha 的答案用于测试。我确实建立了一个连接,并且有一个在设备之间进行乒乓球的小协议。
当以1 字节进行乒乓球时,非常接近时的平均延迟为 22.6000 毫秒,而在房间的另一个角落时为 22.6087 毫秒。
当用1024 字节进行乒乓球时,非常接近时的平均延迟为 40.3173 毫秒,在房间的另一个角落时甚至更小,为 32.3138 毫秒。
毕竟,延迟确实不携带任何有关距离的信息!
谢谢!