我正在编写一个 Android 应用程序,它需要根据用户的选择连接到不同的 Wifi 网络。我需要从 networkInfo 中检索网关 IP 地址。我面临的问题是,如果我连接到wifi网络配置A,然后想切换到网络配置B,wifi.getDhcpInfo(); 返回网络A的网关IP地址。通过用户界面工作流多次尝试后,最终返回网络B的网关IP。代码片段如下。如何确定新启用的网络何时返回准确的 DHCP 信息以便我能够可靠地获取它的任何想法。例如,是否有我可以捕获的异步事件等。谢谢。
WifiConfiguration config = wifiConfiguredNetworks.get(SSID);
enableNetworkResult = false;
enableNetworkResult = wifi.enableNetwork(config.networkId,true);
if (enableNetworkResult == true) {
this.networkInfo = wifi.getDhcpInfo(); // does not return proper IP info
this.DeviceIP = android.text.format.Formatter.formatIpAddress(networkInfo.gateway);
}
Run Code Online (Sandbox Code Playgroud)