android 區分wifi是5G還是2.4G(轉)


http://bbs.csdn.net/topics/391033966?page=1

 

我一開始看這帖子,找不到答案,為了后來的人,我來回復吧。
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
根據wifiInfo.getFrequency()可以判斷是不是5G
應該將會返回4個數字
2字開頭的話,就系2.4G;5字開頭的話,就系5G。

最好用第一個數字來判斷,而不要用全4個數字來判斷,因為后面的有別的意義。

 

順便說一下,以上的方法是在5.1的源碼下的,若想兼容4.4就要這樣:

                  WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
                                    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
                                    String tempSsidString = wifiInfo.getSSID();
                                    if (tempSsidString != null && tempSsidString.length() > 2) {
                                        List<ScanResult> scanResults=wifiManager.getScanResults();
                                        for(ScanResult scanResult:scanResults){
                                            int intfrequency = scanResult.frequency;
                                            System.out.println(""+intfrequency);
                                        }
                                    }

 

            
 
        

wifiinfo中有判斷是否是5G的函數可調用   
 /**
     * @hide
     * TODO: makes real freq boundaries
     */
    public boolean is5GHz() {
        return ScanResult.is5GHz(mFrequency);
    }

 

媽的,有的國人就是他娘的無恥,問問題可以,自己找到答案了就不公布!fuck!

還好終究不全是!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM