Android 两部安卓手机之间的距离

Android 两部安卓手机之间的距离,android,bluetooth,distance,Android,Bluetooth,Distance,我想知道:除了GPS定位,还有什么方法可以确定两部手机之间是否在一定距离内?例如,如果一部手机距离另一部手机不到3英尺,因为GPS并不是那么精确 我正在为我在android平台上的最后一年项目开发一款多人互动游戏,它要求一名玩家距离另一名玩家不超过3英尺 任何事情都是最有帮助的,但环顾四周,这似乎是不可能的。大多数手机数据都可以共享,我将同时使用蓝牙和多播套接字 非常感谢您抽出时间 谢谢大家的回复。我仍在研究这个问题,当我发现一些更容易做的事情时,我会进行更新;但到目前为止,使用蓝牙RSSI值

我想知道:除了GPS定位,还有什么方法可以确定两部手机之间是否在一定距离内?例如,如果一部手机距离另一部手机不到3英尺,因为GPS并不是那么精确

我正在为我在android平台上的最后一年项目开发一款多人互动游戏,它要求一名玩家距离另一名玩家不超过3英尺

任何事情都是最有帮助的,但环顾四周,这似乎是不可能的。大多数手机数据都可以共享,我将同时使用蓝牙和多播套接字

非常感谢您抽出时间



谢谢大家的回复。我仍在研究这个问题,当我发现一些更容易做的事情时,我会进行更新;但到目前为止,使用蓝牙RSSI值似乎是一条可行之路。

不,Android设备不包含此类功能。您可能能做的最好的事情是测量蓝牙信号强度。它不会自动给您一个精确的答案,但您可以首先在应用程序中创建一个基线。也就是说,当你感兴趣的安卓设备彼此相距大约1米时,点击一个按钮


请参阅以下问题:

能否让一台设备播放一些音频,然后另一台设备计算收听该音频的延迟?如果做不到这一点,振动和加速度计的原理是一样的,但根据一些已知的基线来寻找强度

我也有同样的需求,事实上GPS不能用于这样的精度。我的解决方案更为实用,所需的计算量更少。在游戏开始时,您可能会“校准”要与之交互的设备

例如,将两台android设备放在一起,同时按下一些校准工具。然后,您将考虑空间中的该点为两个设备的(0,0,0)坐标


基本上,使用加速计和陀螺仪,或者其他传感器,你可以做到这一点。希望它有帮助,因为这是我现在要实施的解决方案。我想看看蓝牙RSSI的东西。

+1了解有趣的问题。但我很好奇,全球定位系统是否足够先进,可以做到如此精确?(至少在机器人设备上是这样)。不,据我所知,这并不准确。3到5英尺可能在户外。另外,gps的精度是可变的,所以它不够可靠。首先,我不想回答我自己的问题,因为我选择的解决方案并不能完全达到我的目标。我决定留下一条评论,只是说我确实检查了这个问题,但到目前为止实际上还没有确定的解决方案。我决定使用一个线程过零算法来监控两个频率范围,这两个频率范围相隔约50 Hz。现在这有缺点,包括可能的干扰,声音,这是反作用,我的游戏和相同的频率可能被解释为+/-30-40赫兹,所以它需要一个更大的窗口为可接受的频率。优点是它相当容易实现,更高的频率减少了在拥挤区域误解的机会,而且这并不是一个密集的过程。好问题,因为我正在做类似的事情。然而,我将尝试谷歌提供的GPS服务,它应该可以让你非常接近,我读到一些地方,当使用谷歌地图时,它将你投影在4米以内,这就是你如何适应地图上的车道。就你的项目而言,除非谷歌有所改进,否则它不会起作用。对于其他感兴趣的人,我会让他们知道它是如何工作的。使用音频是我遇到的唯一解决方案。我将在一台设备上播放一个频率,而另一台设备使用过零方法(仍然需要一些改进)实时监控麦克风数据。如果我能让它正常工作,我会发布我问题的完整答案。佩德罗,这对你来说怎么样?你用过推算航位的方法吗?