Developer Erik Salaj from Winsoft has released some demo source code for accessing various pieces of wifi information on Android with Delphi XE7 Firemonkey. The demo includes an Object Pascal wrapper for the Android.Net.Wifi class which allows you to access information about the access point you are connected to and get a list of other access points. The wrapper class was created using the JavaImport for Android tool (also from Winsoft). Specifically you can access the SSID, the BSSID, the MAC address, and possibly more info for the connected access point. Additionally you can iterate through the list of scan results for near by access points and display the SSID, BSSID, capabilities, frequency, and signal level of each nearby access point. The code should also compile for Appmethod. This demo is entirely free and comes with source code. Here a code snippet from the demo app:
   ConnectionInfo := WifiManager.getConnectionInfo;
Memo.Lines.Add('Connection info');
Memo.Lines.Add('Â SSID: ' + JStringToString(ConnectionInfo.getSSID));
Memo.Lines.Add('Â BSSID: ' + JStringToString(ConnectionInfo.getBSSID));
Memo.Lines.Add('Â MAC address: ' + JStringToString(ConnectionInfo.getMacAddress));
ScanResults := WifiManager.getScanResults;
for I := 0 to ScanResults.size - 1 do
begin
Memo.Lines.Add('');
Memo.Lines.Add('Detected access point ' + IntToStr(I));
ScanResult := TJScanResult.Wrap((ScanResults.get(I) as ILocalObject).GetObjectID);
Memo.Lines.Add('Â SSID: ' + JStringToString(ScanResult.SSID));
Memo.Lines.Add('Â BSSID: ' + JStringToString(ScanResult.BSSID));
Memo.Lines.Add('Â Capabilities: ' + JStringToString(ScanResult.capabilities));
Memo.Lines.Add('Â Frequency: ' + IntToStr(ScanResult.frequency) + 'MHz');
Memo.Lines.Add('Â Signal level: ' + IntToStr(ScanResult.level) + 'dBm');
end
Head over and download the full demo of the Wifi information demo in Delphi XE7 Firemonkey.