Android获取当前连接wifi的信道

Android获取当前连接wifi的信道,第1张

概述做网络诊断,需要诊断当前wifi所在信道是否拥挤,目前只是解决了获取当前wifi所在信道,主要是用ScanResult的frequency字段,还需要用SSID和BSSID从ScanResults匹配到当前的wifi信号wifiInfo,具体代码如下:publicstaticintgetCurrentChannel(Contextcontext){

做网络诊断,需要诊断当前wifi所在信道是否拥挤,目前只是解决了获取当前wifi所在信道,主要是用ScanResult 的frequency字段,还需要用SSID和BSSID从ScanResults匹配到当前的wifi信号wifiInfo,具体代码如下:

        public static int getCurrentChannel(Context context) {            WifiManager wifiManager = (WifiManager) context                    .getSystemService(Context.WIFI_SERVICE);                 WifiInfo wifiInfo = wifiManager.getConnectionInfo();// 当前wifi连接信息            List<ScanResult> scanResults = wifiManager.getScanResults();            for (ScanResult result : scanResults) {                if (result.BSSID.equalsIgnoreCase(wifiInfo.getBSSID())                        && result.SSID.equalsIgnoreCase(wifiInfo.getSSID()                                .substring(1, wifiInfo.getSSID().length() - 1))) {                    return getChannelByFrequency(result.frequency);                }            }                 return -1;        }
     /**      * 根据频率获得信道      *       * @param frequency      * @return      */     public static int getChannelByFrequency(int frequency) {         int channel = -1;         switch (frequency) {         case 2412:             channel = 1;             break;         case 2417:             channel = 2;             break;         case 2422:             channel = 3;             break;         case 2427:             channel = 4;             break;         case 2432:             channel = 5;             break;         case 2437:             channel = 6;             break;         case 2442:             channel = 7;             break;         case 2447:             channel = 8;             break;         case 2452:             channel = 9;             break;         case 2457:             channel = 10;             break;         case 2462:             channel = 11;             break;         case 2467:             channel = 12;             break;         case 2472:             channel = 13;             break;         case 2484:             channel = 14;             break;         case 5745:             channel = 149;             break;         case 5765:             channel = 153;             break;         case 5785:             channel = 157;             break;         case 5805:             channel = 161;             break;         case 5825:             channel = 165;             break;         }         return channel;     }
总结

以上是内存溢出为你收集整理的Android获取当前连接wifi的信道全部内容,希望文章能够帮你解决Android获取当前连接wifi的信道所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1111921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存