Android WifiP2PManager - 几个问题
Posted
技术标签:
【中文标题】Android WifiP2PManager - 几个问题【英文标题】:Android WifiP2PManager - few questions 【发布时间】:2015-03-26 14:31:23 【问题描述】:我正在尝试创建一个工具,该工具将同时支持对许多设备的自动测试,其中设备应该对其他操作(操作和反应)做出反应。第一个将启动测试的应该是 Master,接下来的每个都将成为客户端。这是我的问题:
我可以使用WifiP2pManager.createGroup()
方法使第一个设备成为Master,其他设备成为Clients 吗?我的意思是这样的:
manager.createGroup(channel, new WifiP2pManager.ActionListener()
@Override
public void onSuccess()
//becomes Master
@Override
public void onFailure(int reason)
//fails because group already exists, becomes Client
);
客户端是否可以在没有先前的 discoverPeers 和 connect 调用的情况下获取组信息?所以我可以这样做:
manager.requestGroupInfo(DriverWifiP2PManager.getInstance().getChannel(), new WifiP2pManager.GroupInfoListener()
@Override
public void onGroupInfoAvailable(WifiP2pGroup group)
//i could see group, and if i'm not an owner i could connect to group owner device
);
加入p2p组需要双方都调用connect吗?
感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:可以,基本上是创建组的设备成为组所有者,其他人可以作为客户端连接。
如果我理解的问题没错,答案是否定的,然后正常连接群。
您只需要从客户端调用connect。请注意,您
在创建组时获取 Connected 事件,即使没有客户端也是如此 连接的。 当有新的连接事件时,你确实会收到新的连接事件 新客户端连接时也可能会发生断开连接事件 :) 组信息为您提供客户列表,所以从那里 你可以看到有多少客户端连接了【讨论】:
以上是关于Android WifiP2PManager - 几个问题的主要内容,如果未能解决你的问题,请参考以下文章
WiFiP2PManager、OnPeersAvailable、DeviceList.Count 为零 - 始终
WifiP2pManager.requestPeers() 在 onPeersAvailable() 中不断返回旧对等点