如何在Android中激活扫描WiFi



从Android文档中我们知道WiFiManager.startScan()调用被动 WiFi扫描。它通常比活动扫描花费更多的时间。因此,我想使用下面的方法调用活动扫描

在前面的WiFiManager.java有一个隐藏的方法叫做startScanActive。我们不能直接调用它,但可以通过java反射调用它。@hide在Android源代码中意味着什么?

然而,这种方法在Android 4.3+中消失了。那么,如何在Android 4.3+中启动主动WiFi扫描呢?

谢谢

当然,主动扫描是不可能的,因此从以后的API级别中删除。

这是一个设备和/或操作系统版本相关的设置。例如,在Nexus One上,扫描大约需要一秒钟,而在G1上,它需要更长的时间(或者在扫描几次后获得新的结果)。

此外,Android做被动扫描,它监听信标。通过发送探测请求并等待探测响应,进行主动扫描可能会在网络上造成大量拥塞。

参考:android-wifi-active-scans和WifiManager.

那么你就可以在你的activity类中使用以下代码:

wiimanager wiimanager = (wiimanager) this.getSystemService(Context.WIFI_SERVICE);wifiManager.setWifiEnabled(真正的);wifiManager.setWifiEnabled(假);

最新更新