Constructing a WifiConfiguration from a ScanResult or: Interpreting ScanResult's 'capabilities' String

android, android-wifi, wifi

Solution

I found this project https://github.com/mkch/android-wifi-connecter and the following files in particular very helpful:

Wifi.java

ConfigurationSecuritiesV8.java

Problem

Do any of you Android gurus out there know of any open source code to create a `WifiConfiguration` from a given `ScanResult`? It would be helpful. Indeed, line 483 (/624) of my capture (mid April 2012) of the Android source of `WifiConfiguration.java` is a commented-out constructor intended to do exactly this, with a big TODO wondering whether it's worth implementing (see quote below). I motion yes, can I hear a second? The main challenge I see (which is actually the brunt of this question) is how to interpret the ScanResult.configuration String. - can I expect just a simple list of things like `[WPA2-PSK-CCMP]`, `[WPS]`, etc? - are these strings enumerated somewhere in the docs or code base? - are there device/manufacturer/AP-specific strings I should know about? From `WifiConfiguration.java` (with possible editorializing): ``` /** * Construct a WifiConfiguration from a scanned network * @param scannedAP the scan result used to construct the config entry * TODO: figure out whether this is a useful way to construct a new entry. * public WifiConfiguration(ScanResult scannedAP) { networkId = -1; SSID = scannedAP.SSID; BSSID = scannedAP.BSSID; // aaaah screw it I'm tired/lazy } */ ``` https://code.google.com/p/android/issues/detail?id=60523

Original source