.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就要这样:
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String tempSsidString = wifiInfo.getSSID();
if(tempSsidString!= null && tempSsidString.length()> 2){
wifiSsid = tempSsidString.substring(1,tempSsidString.length() - 1);
List <ScanResult> scanResults = wifiManager.getScanResults();
for(ScanResult scanResult:scanResults){
if(scanResult.SSID.equals(wifiSsid)){
scanResult.frequency;
打破;
}
}
}
wifiinfo中有判断是否是5G的函数可调用
/ **
* @hide
* TODO:制作真正的频率边界
* /
public boolean is5GHz(){
return ScanResult.is5GHz(mFrequency);
}