gpt4 book ai didi

java - 是否可以找到附近的其他电话?

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:32 24 4
gpt4 key购买 nike

我正在编写一个 Android 应用程序,我想最终移植到 iOS 和 Windows Mobile(尽管我现在对它们一无所知)。我希望我的应用程序能够在一定半径(可能 20-30 英尺)内找到也安装了游戏的其他手机,以便用户可以在他们当前的物理空间中与其他人互动。这可能吗?如果可能,如何实现?

我计划应用程序需要互联网连接,所以我的第一个想法是使用 GPS,如 iOS Find Other Nearby Devices (GPS locations) 中所述,但这需要不断地向服务器传输数据,以使用带宽和电池(更不用说服务器资源)来更新用户的位置。 GPS 似乎也需要一段时间才能获得任何类型的准确修复,即使我不会存储历史数据,我也不希望用户信任我提供那种私有(private)信息(他们也不应该!)

我知道有一些专有技术,例如 Sony 的 NFC,但对于我希望与设备和操作系统无关的应用程序,它的关注范围太窄了。还有哪些其他选择?假设用户愿意授予该应用程序适当的权限,还有哪些其他方法可以让一台设备在 10-15 米范围内找到附近的另一台设备,这对于大量(百万以上)用户群是实用的? HTML5 Geolocation 是更好的途径吗?还是 GPS 是我唯一真正的选择?

我确实找到了 Use Android GPS to detect and connect with other phones ,但希望在过去的几年里开辟了更多的选择。

更新

感谢您到目前为止的所有回复。为了回答评论和答案中提出的一些问题,我想我应该描述我期望应用程序/设备如何交互。

所有安装此应用的用户都将在后台运行一个代理来更新他们当前的地理位置并监听 ping。任何用户都可以打开完整程序并向附近的所有其他用户发送快速请求。如果我走中央服务器路线,那么服务器会用附近的用户名列表来响应该请求。然后,用户可以选择其中一个来发起连接,在这种情况下,目标设备会发出声音以通知连接请求。

从那里可以很容易地处理两个设备之间的交互。找到那些附近的用户是我的症结所在。

最佳答案

我可以看到的选项

  1. 蓝牙 (BT)。我不知道,如果我对此不太怀疑,但我看到了几个问题。短距离。最大的能源消耗。最多同时连接 7 个对等点(但也许就足够了......)。最大的优势是很多设备都支持 BT。

  2. BT LE(低能量)。好的,它有助于解决能源消耗问题。但是,需要 Android 4.3。

  3. WiFi Direct(又名 P2P)。我试了一下,我有点失望。问题是它需要 Android 4.0 或更高版本。更糟糕的是,某些设备没有必需的硬件。我从 Samsung Xperia Miro ST23i 上的 Android 示例中启动了 WiFiDirectDemo。单击“搜索”,我得到的唯一结果是“启用 WiFi P2P - 在您的设置中”。我点击了那个设置中的所有内容,只有普通的 WiFi 和其他东西,没有提到 Direct 或 P2P。 Xperio Miro 只是不支持 WiFi Direct。

  4. 通过 Internet + 设备地理定位与服务器建立 WiFi 连接。服务器保持用户的位置并回答诸如“谁在我的范围内 20 英尺?”之类的问题。问题可能是地理定位的精度。如果墙壁很厚,或者您在地球上卫星很少的地方 - 它可能会非常不准确。

总结

与 BT 相比,某人始终打开 WiFi 的可能性更大。 BT 也有一些时间限制,之后它会关闭(他们这样做可能会节省电池)。因此,WiFi 似乎是比 BT 更好的选择。

如果 WiFi Direct 对您来说足够流行 - 我会试一试。如果没有,选项 4 似乎是最好的。这并不理想,我知道,但在这一点上很难找到更好的东西(我们仍然需要技术开发,WiFi Direct 看起来很有前途)。

关于java - 是否可以找到附近的其他电话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006701/

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