Android WiFi Direct Demo Issues

ImNotAnUser picture ImNotAnUser · Feb 16, 2012 · Viewed 9.8k times · Source

im testing the new technology wifi direct and im having some issues using the wifi direct demo from the samples that come with the android-sdk.

So, I have two devices A and B, both with android 4.0.3.

First, from device A, I send a file to B. Nothing wrong here, B receives the file.

Then A disconnects from B.

Now, from device B I try to send a file to A.

But the device that receives the file is B, instead of A.

To fix, i need to turn off and on both devices...

Also, sometimes when i click disconnect and try to connect again, connection fails and i have to disable and enable wifi direct...

Anyone else experiencing this?

Is it because the new technology is not mature yet or maybe something wrong with my build/driver/etc or maybe this demoapp doesnt support two-way sharing. Any ideas and/or explanations would be apreciated.

Answer

Mano picture Mano · May 9, 2012

When providing a WifiP2pConfig instance to the connect() function, you can set the groupOwnerIntent property of this configuration object as follows:

WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = "...";                 // insert ip here
config.groupOwnerIntent = 0;
config.wps.setup = WpsInfo.PBC;
manager.connect(..., config, ...);

From the android reference:

This (the groupOwnerIntent) is an integer value between 0 and 15 where 0 indicates the least inclination to be a group owner and 15 indicates the highest inclination to be a group owner.

Furthermore, the demo probably repeatedly sends the file to the same device because there is always made a socket connection to the ip-address obtained from:

WifiP2pInfo.groupOwnerAddress

If you would like to support bidirectional communication, the first step in setting this up would be sending the ip-address of the non group owner to the group owner.

As far as the disconnect/reconnect problem goes, I seem to have the same inconsistencies with Android 4.0.2 devices.