Question

Is it possible to get WiFi MAC Address without actually connected to it?

Let's say I have android device "A". I already turn on the WiFi, so that my android device is now able to detect nearby WiFi SSID broadcasted.

Nearby I have a few WiFi SSIDs broadcasted as listed below:

SSID=hype, MAC_ADDRESS=00:39:E0:33:00 SSID=dummy, MAC_ADDRESS=02:33:DF:39:89 SSID=bilbo, MAC_ADDRESS=D0:32:E8:97:29

Without actually connected to WiFi SSID bilbo, can I have its MAC_ADDRESS?

Please help, thanks.

Was it helpful?

Solution

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
registerReceiver(new BroadcastReceiver() {
        @Override
        public void onReceive(Context c, Intent intent) 
        {
           List<ScanResult> results = wifiManager.getScanResults();
           for (ScanResult ap : results) {
               Log.d(TAG, "SSID=" + ap.SSID + " MAC=" + ap.BSSID); 
           }
        }
}, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); 
wifiManager.startScan();

For a BSS operating in infrastructure mode, the BSSID is the MAC address of the wireless access point (WAP)

OTHER TIPS

Try this bash shell to get the MAC address

cat /sys/class/net/wlan0/address

It returns the MAC address under adb shell.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top