我一开始看这帖子,找不到答案,为了后来的人,我来回复吧。
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的函数可调用
public boolean is5GHz() {
return ScanResult.is5GHz(mFrequency);
}
以上所述是小编给大家介绍的Android判断wifi是5G还是2.4G,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!
您可能感兴趣的文章:Android wifi 调试详解及简单实例Android 如何查看Wifi密码通过WIFI(不用数据线)连接Android手机调试Android获取当前手机网络类型(2g、3g、4g、wifi)以及手机型号、版本号代码android编程实现设置、打开wifi热点共享供他人连接的方法Android开发之Wifi基础教程Android获取当前已连接的wifi信号强度的方法在Android里完美实现基站和WIFI定位Android Wifi的forget()操作实例详解