可以找到附近的其他手机吗?
我正在编写一个Android应用程序,我希望最终将其移植到iOS和Windows Mobile(尽管我现在对它们一无所知)。我希望我的应用程序能够在一定半径(可能是20-30英尺)内找到其他手机,这些手机也安装了游戏,以便用户可以在当前物理空间中与他人进行交互。这是否可能,如果是,如何实现?
我计划在需要互联网连接的应用程序上,所以我的第一个想法是使用像iOS查找其他附近设备(GPS位置)中描述的GPS,但这需要不断将数据传输到服务器,以使用带宽和电池更新用户的位置(更不用说服务器资源了)。GPS似乎也需要一段时间才能获得任何准确的定位,即使我不会存储历史数据,我也不会期望用户信任我提供这种私人信息(他们也不应该!
我知道有专有技术,例如索尼的NFC,但这太狭窄了,无法用于我希望与设备和操作系统无关的应用程序。还有哪些其他选择?假设用户愿意为应用提供适当的权限,那么还有哪些其他方法可以允许一台设备在10-15米的范围内找到另一台设备,这对于大型(百万+)用户群来说是实用的?HTML5地理位置是更好的途径吗?还是GPS是我唯一真正的选择?
我确实找到了 使用Android GPS来检测并连接其他手机,但希望过去几年已经开辟了更多的选择。
更新
感谢您到目前为止的所有回复。为了回答评论和答案中提出的一些问题,我想我会描述一下我期望应用程序/设备如何交互。
安装此应用程序的所有用户都将在后台运行一个代理,以更新其当前地理位置并侦听 ping。任何用户都可以打开完整的程序,并向附近的所有其他用户发送快速请求。如果我选择中央服务器路由,则服务器会使用附近用户名的列表来响应该请求。然后,用户可以选择其中之一来启动连接,在这种情况下,目标设备发出声音以通知连接请求。
从那里,处理两个设备之间的交互就足够容易了。找到附近的用户对我来说是症结所在。