获取范围内WiFi网络的MAC地址

时间:2013-10-29 20:09:26

标签: android android-wifi

是否可以检索所有可用WiFi网络的MAC地址?我知道您可以为当前连接的网络执行此操作:

WifiManager wifiMan = (WifiManager) this.getSystemService(
            Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
String macAddr = wifiInf.getMacAddress();

但您是否也可以连接到未连接的网络?

编辑:在OSI模型(http://en.wikipedia.org/wiki/OSI_model)下是否完全可以?看起来MAC地址在第2层,所以在有活动连接之前它不会是accessibe,对吗?

1 个答案:

答案 0 :(得分:2)

可以检索范围内WiFi接入点的MAC地址(BSSID)(它们可能是一个较大网络的一部分)。

mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
mWifiManager.startScan();
List<ScanResult> results = mWifiManager.getScanResults();
for (ScanResult result : results) 
{
    System.out.println("Access Point MacAddr:" + result.BSSID);         
}