当前位置:主页 > 移动开发 > Android代码 >

Android判断wifi是5G还是2.4G

时间:2021-07-27 08:18:30 | 栏目:Android代码 | 点击:

我一开始看这帖子,找不到答案,为了后来的人,我来回复吧。

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;
break;
}
}
}

wifiinfo中有判断是否是5G的函数可调用  

 /**
  * @hide
  * TODO: makes real freq boundaries
  */
 public boolean is5GHz() {
  return ScanResult.is5GHz(mFrequency);
 }

您可能感兴趣的文章:

相关文章