6

好吧,我有 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我想有相应的频道号。

我找到了一张桌子

通道号 下限频率(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 等)是什么?

4

2 回答 2

1

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.
于 2015-04-07T09:32:27.637 回答
0

你可以试试。

 WifiManager wifiMgr = (WifiManager) getContext().getSystemService(context.WIFI_SERVICE);
    WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
     int frequency = wifiInfo.getFrequency();

添加以下权限。

 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
于 2018-01-18T05:19:54.940 回答