Android Nearby Connections - 如何防止与连接和发现重叠

Android Nearby Connections - How to prevent overlap with connections and discovery

我正在使用附近的连接API。根据我的阅读,一个人不应该在同时连接到设备的同时进行发现,因为这会减少带宽并可能导致连接中断。

但是,我正在构建一个应用程序,其中每个 phone 都尝试将它收到的任何消息转发给尽可能多的其他 phone。因此,最好始终进行发现以最大化端点的数量。

确保发现时间不与实际连接时间重叠的最佳方法是什么?我应该按固定的预设时间间隔进入发现模式吗?有没有办法存储发现的设备供以后使用(这样我就可以在发现所有本地设备后连接到它们)?

您甚至可以在调用 stopDiscovery 后连接到已发现的设备,因此一种解决方案是扫描一段固定的时间,然后连接到已找到的设备。 (注意:如果您尝试在后台执行某些操作,请尝试通过在一小时开始时播放广告来同步设备,因为发现会耗尽大量电池电量。)

或者,您可以尝试保持设备之间持续连接,方法是为每个设备形成 2~3 个连接,并通过更新所有连接的对等点来淹没网络,然后这些对等点也这样做,直到每个人都看到消息。 (注意:连接会耗尽电池电量,尽管没有发现那么多)