Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get the connection strength of Wifi access points?

Tags:

android

wifi

I am building an application reading the signal strength of each available Wifi access point.

I've written code like:

    wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    // Get WiFi status
    WifiInfo info = wifi.getConnectionInfo();
    textStatus.append("\n\nWiFi Status: " + info.toString());

    // List available networks
    List<WifiConfiguration> configs = wifi.getConfiguredNetworks();

However, I have two problems:

  1. In debugging, configs only contains one connection. However, I can see that there are several APs available in the system's wifi setting. I.e. configs is an incomplete list.

  2. I don't know how to get the signal strength in WifiConfiguration.

btw, I am using HTC Hero and Android 1.5.

like image 677
Yin Zhu Avatar asked Aug 09 '10 06:08

Yin Zhu


People also ask

How do I check the signal strength of an access point?

In Windows, go to Network and Internet, and then Network and Sharing Center. Select the blue WiFi link to see the signal strength. On an Android phone or tablet. Look under Settings, WiFi, or Network, and search for a gear or WiFi icon next to the network you're connected to.

How is Wi-Fi strength measured?

Wi-Fi signal strength is measured in multiple ways, but the most common is in decibels per milliwatt (dBm). Understanding different measurements like milliwatts (mW) or Received Signal Strength Indicator (RSSI) can be helpful, but it is more common that you will see signals measured in dBm.


1 Answers

According to the Android API documentation WifiManager.getConfiguredNetworks() does not fill the signal strength paramters. This data only represents the remembered access point settings, not the visible ones.

To get actually visible networks you must call WifiManager.startScan() to initiate WiFi radio scanning and WifiManager.getScanResults() after a while to get the scanning results.

like image 159
Sergii Rudchenko Avatar answered Oct 30 '22 06:10

Sergii Rudchenko