使用Android GPS检测并连接其他手机

sla*_*dau 9 android

所以昨天我问了类似的问题并确实得到了我的问题的答案,但是我并不认为我没有正确地问它,因此没有得到我需要的确切信息.

我正在寻找API,一些开源代码,甚至是其他人在Android上实现这一目标的方式.我正在制作一款需要在指定范围内找到所有其他Android设备的应用.例如,当您打开Android Google地图应用并搜索"餐馆[ZipCode]"时,它会使用从您的邮政编码修改的半径并查找所有这些地点.GPS获取您的位置,并且地图使用该信息来查找靠近通过位置的地址内的餐馆.

相反,我希望能够使用GPS找到我的位置(现在可以很容易),但不是在地图上找到东西(已经内置),我希望能够找到其他支持GPS的Android手机.我得知他们必须同时播放他们的GPS信号(因为他们没有像餐馆那样将数据存储在某种中央数据库中).但是,我不只是想找到这些手机,我想从这些手机发送/接收数据(显然具有正确的权限).

现在,我发现了像Bump API这样的东西.但是,BUMP使用手机传感器来激发这种搜索.所以基本上,如果你用另一个"碰撞"你的手机并让应用程序运行,它就会继续使用GPS来找到你碰到的另一部手机的位置并在它们之间交换数据.这就像我想要做的那样,但是在他们的API中,他们没有提供只是说"嘿,给我一英里之外的所有手机"的功能.

我还发现API可以完全满足我的需求,但它们必须位于相同的蓝牙范围或相同的Wi-Fi网络上,这根本不适合我的需要.

你们知道任何能够完全符合我需要的东西吗?或者一种方法可能修改Bump API(如果你已经完成),不必使用手机传感器直接通过GPS为你周围的手机查找手机信息?或者有什么东西存在于3g/4g网络而不是只有Wi-Fi /蓝牙?

多谢你们.

Com*_*are 5

而不是频繁地将位置发布到外部服务器,GPS不能实现在非常特定的时间广播GPS信号并从它们发送/接收数据的其他事物吗?

唯一的"广播GPS信号"是卫星.

我们希望在不使用外部服务器的情况下实现这一目标.

您别无选择,只能使用外部服务器,无论您是否喜欢,都可以用于发现和以后的通信.

你们知道任何能够完全符合我需要的东西吗?

Foursquare,谷歌纵横,雅虎火鹰等.


Chr*_*ton 2

要通过 GPS 做到这一点,您必须让所有手机经常将其位置发布到网络服务器,然后网络服务器可以通知它们附近的其他手机。

不用说,这只是选择加入!

而且它可能会对电池寿命产生负面影响,除非您不经常更新,这可能会限制其可用性。

对两部手机进行显式触发操作的优点是,当它们都被触发时,它们只需要查询 GPS 并通知服务器通过位置找到对方。

  • GPS 接收器是被动的,它们不传输任何东西。因此,要么您想要查找的设备最近已经通过移动网络更新了服务器的位置,以便仍然大致位于上次所说的位置,要么需要同时触发两个设备来更新服务器并让它匹配它们。 (3认同)
  • 如果您担心服务器成本,则表明您确实没有可靠的商业计划或对现代互联网经济有足够的了解来编写计划。如果您不担心用户对电池或隐私问题的反对,这也表明您要么规模很大,并且由现有企业安全建立,使您能够无视投诉,而无需担心服务器的微不足道的成本,或者你同样不知道自己正在进入什么领域。 (3认同)
  • “这里不存在安全”——这就是问题所在。您要求人们信任您的动机和技术能力,同时表现出对技术的了解很差。你所做的这件事是关于一个即使是最好的公司在履行承诺方面也有相当糟糕的记录的主题。 (2认同)