我花了很多时间寻找解决方案,但没有结果。所以我的问题是,有什么方法可以检测设备是否有 5Ghz Wifi?如果有可能实现这一点,那就太好了。我已经分析过了WifiManager
,但没有找到合适的方法或属性。
提前致谢。
我花了很多时间寻找解决方案,但没有结果。所以我的问题是,有什么方法可以检测设备是否有 5Ghz Wifi?如果有可能实现这一点,那就太好了。我已经分析过了WifiManager
,但没有找到合适的方法或属性。
提前致谢。
从 Android API 级别 21 开始,WifiManager 有一个调用方法is5GHzBandSupported()
,如果适配器支持 5 GHz 频段,则该方法返回 true。
我们的方法是寻找 wifi 扫描的结果并寻找 5GHz 的信号。这不是一个好的解决方案,因为它会给出假阴性,但如果你的环境是一个可以确保你附近有 5GHz wifi 的场所,它可以解决这个问题。
请参阅:如何将 Android Wifi 扫描结果添加到列表中?
您可以从 wifi 扫描中提取的数据(查找频率值):(
来源:femalelaps.com)
希望能帮助到你!
我使用下面的代码片段解决了这个问题
WifiManager wifiManager= (WifiManager) mContext.getApplicationContext().getSystemService(WIFI_SERVICE);
Class cls = Class.forName("android.net.wifi.WifiManager");
Method method = cls.getMethod("isDualBandSupported");
Object invoke = method.invoke(wifiManager);
boolean is5GhzSupported=(boolean)invoke;