Android的getBSSID()方法错误?

时间:2015-05-01 12:04:15

标签: java android macos wifi bssid

我正在使用Android Studio尝试使用getBSSID方法获取网关的MAC。但是,它从未正确显示。我的网关是xx:xx:xx:xx:xx:f0,但此方法返回xx:xx:xx:xx:xx:f2。我尝试了另一台路由器(xx:xx:xx:xx:xx:xb),我也错了(xx:xx:xx:xx:xx:xc)。

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
return wifiInfo.getBSSID();

为什么?我做错了吗?

1 个答案:

答案 0 :(得分:1)

这实际上不是编程相关的问题。

大多数接入点使用多个mac地址用于不同的无线接口。例如,5 GHZ或2.4 GHZ的mac地址彼此不同,并且它们与用于宣布该网络的mac地址不同。

对于您的示例x​​x:xx:xx:xx:xx:f0可能为2.4 GHZ,xx:xx:xx:xx:xx:f1可能适用于5GHZ网络,xx:xx:xx:xx:xx :f2用于宣布该网络。也许有一个xx:xx:xx:xx:xx:f3用于连接网状链接。

所以你得到的mac地址是正确的。只是你的接入点有许多用于不同目的的mac地址。