android区分wifi是5G还是2.4G

本文介绍了如何使用Android系统的API来判断当前连接的WiFi是2.4G还是5G频段。通过获取WiFi信息并解析频率数据,实现不同频段的区分。同时提供了针对不同Android版本的兼容性解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自: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就要这样:
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);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值