如何检测设备是否支持5G Wi-Fi网络

4
我花费了很多时间搜索解决方法,但是没有结果。所以我的问题是,有没有办法检测设备是否具有5Ghz Wifi?如果可以实现这一点,那就太好了。我已经分析了WifiManager,但没有找到合适的方法或属性。
提前感谢。
3个回答

4

从Android API Level 21开始,WifiManager有一个名为is5GHzBandSupported()的方法,如果适配器支持5 GHz频段,则返回true。


如何确定运行API级别< 21的设备是否支持5GHz? - surlac
1
我建议使用下面的这个答案。虽然不完美,但它可能适用于您的应用程序。 - Alan Kinnaman

1
我们的方法是查找wifi扫描结果并寻找5GHz信号。这不是一个好的解决方案,因为它会产生误报,但如果您的上下文是一个场所,您可以确保附近有5GHz wifi,那么它可以解决问题。
请参见:如何将Android Wifi扫描结果转换为列表? 您可以从wifi扫描中提取的数据(查找频率值): the data you can extract from a wifi scan
(来源:fewlaps.com 希望能对您有所帮助!

在我的情况下,5GHz的频率是2467,请帮忙。 - Divyam shukla
可能是一台带有两个信号的无线路由器,对吧? - Roc Boronat
这是否意味着只有在周围存在5GHz网络时,这种方法才能起作用? - surlac
2
是的,那正是答案所说的。:·) - Roc Boronat

1
我用以下代码片段解决了这个问题。
        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;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接