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

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 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);

}

以上所述是小编给大家介绍的Android判断wifi是5G还是2.4G,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐