我正在尝试编写一些代码来断开当前的 wifi 网络(如果有)并重新连接到具有已知 SSID 的特定 wifi 网络。
我一直在关注这里使用的代码;如何以编程方式连接到 Android 中的特定 Wi-Fi 网络?
这有效,但连接需要几秒钟,最多约 10 秒。
具体来说,我使用的代码如下;
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
WifiConfiguration config;
我获取配置,是否通过创建一个新配置并将 SSID 和 KeyMgmt 设置为 NONE 然后添加它;
wifiManager.add(config);
或者通过获取已经存在的配置;
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
config = i;
break;
}
}
然后我打电话;
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
我收到了一个检查 wifi 状态的广播,当我连接到正确的 SSID 时,我可以继续,但是,这个过程最多需要 10 秒,我如何设置配置或 wifimanager 以更快地连接到这个?
谢谢