好吧,我有 ScanResults,从那里我可以得到 SSID、BSSID、所有 wifi 的频率。
List<ScanResult> results = wifi.getScanResults();
我还有已连接的 wifi 信息,所以从那里我也有已连接的 SSID 和已连接的 wifi 的 BSSID。
WifiManager wifi;
WifiInfo info;
wifi = (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
info = wifi.getConnectionInfo();
现在我只想知道连接的 wifi 的频率,但是当我检查 SSID 和 BSSID 时,它们对于 2 个网络可能是相同的。现在我怎样才能找到连接的 Wifi 的频率。
我也想从那个 wifi 获得相应的 channel 号。
我找到了一张 table
channel 号 低频(GHZ) 中频(GHZ) 高频(GHZ)
1 2401 2412 2423
2 2404 2417 2428
3 2411 2422 2433
4 2416 2427 2438
5 2421 2432 2443
6 2426 2437 2448
7 2431 2442 2453
8 2436 2447 2458
9 2441 2452 2463
10 2451 2457 2468
11 2451 2462 2473
12 2456 2467 2478
13 2461 2472 2483
14 2473 2484 2495
想知道 sdk 是否总是提供此表的中心频率以及其他频率如 5Ghz 等是什么?
最佳答案
WifiInfo 的频率仅在 Lollipop (API 21) 之后可用 http://developer.android.com/reference/android/net/wifi/WifiInfo.html#getFrequency()
android.net.wifi.WifiInfo
public int getFrequency ()
Returns the current frequency in FREQUENCY_UNITS.
关于Android wifi获取连接的Wifi的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024449/