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 に答える