After digging around a little, I was able to put together the code to 
programmatically connect to an open network/AP.  For some reason, specifying 
the SSID causes the code not to connect.  

WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.BSSID = "00:0C:41:F5:B0:08";
wifiConfig.priority = 1;
wifiConfig.allowedKeyManagement.set(KeyMgmt.NONE);
wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
wifiConfig.status=WifiConfiguration.Status.ENABLED;

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
int netId = wifi.addNetwork(wifiConfig);
wifi.enableNetwork(netId, true);

I am curious about the behavior of the network activity that I am seeing.  The 
N1 is constantly broadcasting Probe Requests.  The Access Point is sending out 
Probe Responses.   When I enable the network with the SDK, the N1 sends out a 
Probe Response with the SSID of the AccessPoint (probably determined from the 
Probe Response).   The N1 then sends out an Association Request to the AP and 
negotiates the connection.  Why can't I initiate an Association Request to the 
AP prior to receiving the AP Probe Response?  Basically, I would like to 
already have the AP defined in my WifiConfiguration and be sending Association 
Requests prior to being in range of the AP.  Is this possible or am I 
constrained by the protocol? 

Thank you very much!

Dan



On Feb 1, 2010, at 8:21 AM, Daniel Rolph wrote:

> Hello everyone,
> 
> I am using a Nexus One with 2.1 SDK. I am having problems with a module in my 
> application connecting programmatically to a network/AP. The code snippet 
> that I am using is:
> 
> WifiConfiguration wifiConfig = new WifiConfiguration();
> wifiConfig.BSSID="00:0C:41:F5:B0:08";
> wifiConfig.SSID="test";
> WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
> wifi.setWifiEnabled(true);
> int netId = wifi.addNetwork(wifiConfig);
> wifi.enableNetwork(netId, true);
> 
> Monitoring the network, I see probe requests transmitting from the device, 
> but I do not see an Authentication/Association request to the access point 
> that I specify in the BSSID. Ultimately, I will perform a scan to determine 
> valid AP BSSIDs, but for testing, I simply want to connect to a test AP which 
> is in close proximity to my Nexus One.
> 
> I have set the appropriate permissions in my manifest xml and am not seeing 
> any negative log statements from adb.
> 
> Any pointers or suggestions with using WifiManager to perform this action 
> would be very appreciated.
> 
> Thank you very much!
> 
> Dan
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to