ユーザーの選択に基づいて、さまざまな Wifi ネットワークに接続する必要がある Android アプリケーションを作成しています。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);
}