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

时间:2015-04-30 09:14:57

标签: android wifi-direct

我正在开发一个Android应用程序,我需要使用WiFi Direct连接多个设备。我已完成多个连接,因为我知道通过一个组所有者设备连接设备,好像所有客户端设备都向一个特定设备发送请求。但我是手动操作,因为如果所有客户端设备都点击一个特定设备的名称然后它可以通过多个连接。但现在我需要以编程方式进行,以便一个设备自动成为组所有者,所有其他设备应自动发送连接请求到该特定设备。请帮我解决这个问题。我被困在这从最近几天开始。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

那里的确切逻辑/问题是什么?

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

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

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

如果设备有可能出现不同时间的相同位置,那么当然全自动的逻辑很简单。

  • 首先,所有设备都在宣传&同时搜索设备
  • with第一个连接将一个设备设置为组所有者,另一个设备为客户端
  • 两台设备都停止了Peer&服务发现
  • 客户端设备停止宣传服务,从而使群组所有者只能看到附近出现的任何设备的可见服务,因此他们将连接到该服务。

无论如何,我会有一个小例子项目可以帮助你:Thali/WDConApp,无论如何,使用WiFi-Direct你需要手动允许连接,你会尝试配对as I explained in my Blog,虽然我必须承认,自本周二以来,我不太确定它是否真的有效。我需要做一些额外的测试(当我有时间时)来验证我是否真的知道它的行为。

然后,如果您不希望手动用户接受对话框,我会为您提供两种选择。您可以使用Thali/BtConApp中使用的不安全蓝牙连接,也可以使用WiFi直接接入点进行连接。

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