Android wifi获取连接的Wifi的频率

标签 android android-wifi

好吧,我有 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/

相关文章:

Android SwitchPreferences在PreferenceActivity中一起变化

android - 当我的 wifi 在 Android 手机上连接时打开一些链接

Android:在 Android Marshmallow (6.0) 上以编程方式打开/关闭 WiFi 热点

android - 通过蓝牙重启 Android 手机?

android - 使用模拟器设备 wifi 在模拟器上运行 android 应用程序

android - 应用程序可能在其主线程上做了太多工作 (Android)

Android访问drawable文件夹

以编程方式第二次连接到特定 Wi-Fi 网络的 Android "Bypassing user approval"无法正常工作

java - 如何从数据库中绘制与前一行具有相同ID但来自不同表的行?

Android MediaRecorder 启动失败-19