Nic*_*las 14 java gps android smartphone
我正在写一个Android应用程序,我想最终移植到iOS和Windows Mobile(虽然我现在对它们一无所知).我希望我的应用程序能够找到一定半径(可能是20-30英尺)内还安装了游戏的其他手机,以便用户可以在当前物理空间中与其他人进行交互.这是可能的,如果是的话,怎么样?
我计划在需要互联网连接的应用程序,所以我的第一个想法是使用像iOS查找其他附近设备(GPS位置)中描述的GPS,但这需要不断传输数据到服务器以使用带宽和电池更新用户的位置(更不用说服务器资源).GPS也似乎需要一段时间来获得任何准确的修复,即使我不存储历史数据,我也不希望用户信任我这种私人信息(他们不应该!)
我知道有一些专有技术,比如索尼的NFC,但对于一个我想成为设备和操作系统无关的应用来说,这个技术的关注范围太小了.还有哪些其他选择?假设用户愿意为应用程序提供适当的权限,那么还有哪些方法可以让一个设备在10-15米范围内找到另一个附近的设备,这对于大型(百万+)用户群来说是否实用?HTML5地理定位是更好的途径吗?或者GPS是我唯一真正的选择吗?
我确实发现使用Android GPS来检测和连接其他手机,但希望过去几年已经开辟了更多的选择.
UPDATE
感谢您到目前为止的所有回复.为了回答评论和答案中提出的一些问题,我想我会描述我希望应用/设备如何互动.
安装此应用程序的所有用户都将在后台运行代理以更新其当前的地理位置并侦听ping.任何用户都可以打开完整的程序并向附近的所有其他用户发送快速请求.如果我转到中央服务器路由,则服务器会使用附近的用户名列表响应该请求.然后,用户可以选择其中一个来发起连接,在这种情况下,目标设备发出声音以通知连接请求.
从那里,它很容易处理两个设备之间的交互.找到附近的用户对我来说是个难点.
Ada*_*zyk 12
蓝牙(BT).我不知道,如果我对此不太怀疑,但我看到了几个问题.短距离.能耗最大.最多7个对等体同时连接(但可能就足够了......).最大的优势是很多设备都支持BT.
BT LE(低能量).好吧,它有助于消耗能源问题.但是,需要Android 4.3.
WiFi Direct(又称P2P).我试了一下,我有点失望.问题是它需要Android 4.0或更高版本.更糟糕的是,某些设备没有所需的硬件.我WiFiDirectDemo在三星Xperia Miro ST23i上推出了Android样本.点击"搜索",我唯一得到的是祝酒"启用WiFi P2P - 在您的设置中".我点击了那个设置中的所有内容,只有普通的WiFi和其他东西,没有提到Direct或P2P.Xperio Miro只是不支持WiFi Direct.
通过互联网+设备地理定位与服务器的WiFi连接.服务器保留用户的位置并回答诸如"谁在我的范围内20英尺?"之类的问题.问题可能是地理定位的精确性.如果墙壁很厚或者你在地球上几乎没有卫星的地方 - 它可能非常不准确.
有人会比BT一直开启WiFi更有可能.BT也有一些时间限制,之后关闭(它们可以通过这种方式节省电池).因此,WiFi似乎比BT更好.
如果WiFi Direct足够受欢迎 - 我会尝试一下.如果没有,选项4似乎是最好的.我知道,这并不理想,但在这一点上很难找到更好的东西(我们仍然需要技术开发,WiFi Direct看起来很有希望).