2

我正在使用 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();

这是为什么?难道我做错了什么?

4

1 回答 1

1

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

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

对于您的示例 xx: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 地址。

于 2015-05-06T14:19:23.730 回答