我参考了Android SDK上的WifiDirectExample
。它可以通过WiFi-Direct扫描并连接到其他设备。如何在Android的WifiDirect中成为群组所有者?
的情况对我来说是两器调用设备-A和设备-B。 设备-A始终主动邀请并连接到设备-B。
我想要设备-A总是成为集团所有者。但有时设备-A尚未成为组所有者。
有人可以教我如何在Android的WifiDirect中成为群组所有者吗?
我不知道...在此先感谢。
我参考了Android SDK上的WifiDirectExample
。它可以通过WiFi-Direct扫描并连接到其他设备。如何在Android的WifiDirect中成为群组所有者?
的情况对我来说是两器调用设备-A和设备-B。 设备-A始终主动邀请并连接到设备-B。
我想要设备-A总是成为集团所有者。但有时设备-A尚未成为组所有者。
有人可以教我如何在Android的WifiDirect中成为群组所有者吗?
我不知道...在此先感谢。
Device-A创建一个组。
wifiP2pManager.createGroup(wifiP2pChannel, null);
其他设备连接到这个组。在你的情况下,hostAddress是Device-A地址(WifiP2pDevice.deviceAddress)。
private void connect(WifiP2pDevice host){
WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = host.hostAddress;
config.wps.setup = WpsInfo.PBC;
config.groupOwnerIntent = 0;
wifiP2pManager.connect(wifiP2pChannel, config, null);
}
config.groupOwnerIntent是你需要的。
如果你使用
wifiP2pManager.createGroup(Channel c, ActionListener listener)
,你会得到一个自治组所有者和其他设备可以加入。
但是,如果你想创建一个组(有时也称为标准),可以使用:
config.groupOwnerIntent = 15;
强制设备连接为一个组所有者和
config.groupOwnerIntent = 0;
强制设备作为客户端进行连接。
注意,“config.groupOwnerIntent”不能确保设备将成为集团所有者或客户,但基于我的经验,这个概率很高。
取决于所需的组类型。