I am building an application reading the signal strength of each available Wifi access point.
I\'ve written code like:
wifi = (WifiManager) getS
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
class WifiReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
List wifiList = mainWifi.getScanResults();
ArrayList m4MessagesList = new ArrayList();
for (int i = 0; i < wifiList.size(); i++) {
ScanResult scanResult = wifiList.get(i);
WifiConnectionBean bean = new WifiConnectionBean();
bean.setConnectionName(scanResult.SSID); // + "--" +
// scanResult.frequency);
bean.setDescription(scanResult.capabilities);
bean.setId(scanResult.SSID);
bean.setLevel(String.valueOf(scanResult.level));
bean.setSignalStrength(String.valueOf(scanResult.BSSID));
m4MessagesList.add(bean);
}
if (m4MessagesList == null) {
Toast.makeText(WifiIdentificationActivity.this,
"WifiConnection not available", Toast.LENGTH_SHORT)
.show();
} else {
String message = "Scanning complete. " + m4MessagesList.size()
+ " connections found!";
}
pd.dismiss();
}
}
where scanResult.SSID gives the signal strength.