2014-10-31 39 views
0

我参考了Android SDK上的WifiDirectExample。它可以通过WiFi-Direct扫描并连接到其他设备。如何在Android的WifiDirect中成为群组所有者?

的情况对我来说是两器调用设备-A设备-B设备-A始终主动邀请并连接到设备-B

我想要设备-A总是成为集团所有者。但有时设备-A尚未成为组所有者

有人可以教我如何在Android的WifiDirect中成为群组所有者吗?

我不知道...在此先感谢。

回答

0

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是你需要的。

0

如果你使用

wifiP2pManager.createGroup(Channel c, ActionListener listener)

,你会得到一个自治组所有者和其他设备可以加入。

但是,如果你想创建一个组(有时也称为标准),可以使用:

config.groupOwnerIntent = 15;

强制设备连接为一个组所有者和

config.groupOwnerIntent = 0;

强制设备作为客户端进行连接。

注意,“config.groupOwnerIntent”不能确保设备将成为集团所有者或客户,但基于我的经验,这个概率很高。

取决于所需的组类型。

相关问题