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!
还好终究不全是!