天天看点

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的函数可调用   

    public boolean is5GHz() {

        return ScanResult.is5GHz(mFrequency);

    }

妈的,有的国人就是他娘的无耻,问问题可以,自己找到答案了就不公布!fuck!

还好终究不全是!

本文转载自SharkBin博客园博客,原文链接:http://www.cnblogs.com/SharkBin/p/6393064.html如需转载自行联系原作者