gpt4 book ai didi

java - 使用蓝牙获取两个Android设备之间的距离

转载 作者:行者123 更新时间:2023-12-01 14:17:03 25 4
gpt4 key购买 nike

我在SO上发现了很多类似的问题。但是大多数都没有工作或已经过时。

我正在尝试构建一个使用蓝牙扫描附近设备的android应用程序,我希望该应用程序在手机近2米远时向用户发出警报。

因此,我尝试使用在SO上找到的以下方法来获取距离。

protected double calculateDistance(float txPower, double rssi) {

if (rssi == 0) {
return -1.0; // if we cannot determine distance, return -1.
}

double ratio = rssi * 1.0 / txPower;

if (ratio < 1.0) {
return Math.pow(ratio, 10);
} else {
double accuracy = (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
return accuracy;
}
}

该方法返回的是一个奇怪的小数字,我认为它甚至不是距离,因为即使手机在同一位置,它也会不断变化。

关于如何获得准确距离的任何想法?

最佳答案

对于那些正在寻找设备之间距离的人。经过大量研究和搜索,我发现获得准确或精确的距离并不容易实现。 Android和Apple仍在进行此类工作。

自从我急于寻求解决方案以来,我一直将其用作解决方法,即所谓的Nearby Messages API

它是一个发布-订阅API,适用于Android和iOS。它们捕获使用特定Message订阅了特定MessageListener的附近设备。然后,您可以向侦听器添加一些Strategy,以了解距离是否真的接近EARSHOT

这正是我所需要的,因此对我有用。

关于java - 使用蓝牙获取两个Android设备之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61795496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com