ductruong9x
ductruong9x

Reputation: 3

Android - List wifi access points

I want to get list of wifi access points.Thank you very much.My code is below

public static void backupWifi(Context context) {
        WifiManager wifiManager = (WifiManager) context
                .getSystemService(Context.WIFI_SERVICE);
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();

        String id = wifiInfo.getBSSID();
        int ip = wifiInfo.getIpAddress();
        String MAC = wifiInfo.getMacAddress();
        String SSID = wifiInfo.getSSID();
        int idnw = wifiInfo.getNetworkId();


            Log.v("ID", id);
            Log.v("IP", String.valueOf(ip));
            Log.v("MAC", MAC);
            Log.v("SSID", SSID);
            Log.v("idnw", String.valueOf(idnw));
        }

Upvotes: 0

Views: 9302

Answers (2)

mob_web_dev
mob_web_dev

Reputation: 2362

You need to create a BroadcastReceiver to listen for Wifi scan results:

private final BroadcastReceiver mWifiScanReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context c, Intent intent) {
        if (intent.getAction() == WifiManager.SCAN_RESULTS_AVAILABLE_ACTION) {
            List<ScanResult> mScanResults = wifi.getScanResults();
            // add your logic here
        }
    }
}

In onCreate() you would assign mWifiManager and initiate a scan:

mWifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
mWifiManager.startScan();

This code which handles your scan results would run every time a new scan result is available, updating the result.

Upvotes: 4

nikvs
nikvs

Reputation: 1090

First get a list of available wifi points-

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        List<ScanResult> apList = wifiManager.getScanResults();

apList - is the list of all available wifi points in the most recent scan.

You can set this apList to a ListView. NB:- this method returns only the recently scanned wifi points

Upvotes: 2

Related Questions