如何自动查找群组所有者设备

How to find a Group owner device automatically

我正在开发一个 android 应用程序,我需要在其中使用 WiFi Direct 将多个设备相互连接。我完成了多个连接,因为我知道通过一个组所有者设备连接设备,就好像所有客户端设备都向一个特定的 device.But 发送请求一样,我正在手动执行此操作,因为如果所有客户端设备都单击一个名称特定设备然后它可以与多个 connections.But 现在我需要以编程方式执行此操作,以便一个设备自动成为组所有者,所有其他设备应自动向该特定设备发送连接请求 device.Please 帮我解决这个问题 problem.I 我从最后 days.Thanks 提前被困在这一点上寻求你的帮助。

那里的确切 logic/problem 是什么?

是否必须完全自动化?还是可以手动选择群组所有者?

如果所有设备同时启动连接,那么您必须真正进行手动选择,或者让设备以某种方式协商它们如何选择组所有者。选案你真简单:

  • 群组所有者使用 createGroup 创建用于连接的群组
  • 群组所有者添加本地服务,并启动 Peers Discovery 并保留它 运行(通常我的研究表明,如果没有活动连接或对等发现,则设备本地服务对其他设备不可见)
  • 客户端,只需进行点和服务发现并进行连接

如果设备有可能出现在同一个地方不同时间,那么全自动的逻辑当然就简单了。

  • 首先所有设备同时发布和搜索设备
  • with 第一个连接一个设备设置为群组所有者,另一个设置为客户端
  • 两个设备都停止对等和服务发现
  • 客户端设备停止为该服务做广告,从而使组所有者只能看到出现在附近的任何设备的服务,因此他们将连接到它。

无论如何,我会有一些小的示例项目可能对您有所帮助:Thali/WDConApp, anyways, with WiFi-Direct you would need to manually allow connections, You would try doing the pairing as I explained in my Blog,但我不得不承认,自从这周星期二以来,我不太确定它是否真的能以这种方式工作。我需要做一些额外的测试(当我有时间的时候)来验证我是否真的知道它的行为。

然后,如果您不想让用户手动接受对话框,我将为您提供两个选项。您可以使用 Thali/BtConApp 中使用的不安全蓝牙连接,或者您可以使用 WiFi 直接接入点进行连接。

请注意,使用接入点连接,将切断任何其他 WiFi 连接。我也有它的例子,实际上我在写这个回复的时候上传了它,你可以从 Thali/WAPConApp 找到它。请注意,这只是我的第一个测试版本,我可能会做更多的工作来改进它。