範囲内にあるときに特定のwifiに接続するAndroidアプリケーションに取り組んでいます。いくつかの作業が完了したら、元のwifiに接続しようとしています。奇妙な理由で、元のwifiに希望どおりに接続しますが、約30秒後に接続が切断されます. デバイスの Wi-Fi 設定を確認すると、Wi-Fi が無効になっていることが示されます。
まとめ:
1. Wifi W1 に接続します。
2. Wifi W2 が範囲内にある場合は、(SSID を使用して) それに接続しますが、後で使用するために W1 の SSID を覚えておいてください。
3. W2 から切断し、wifi 構成リストで W1 を探します (SSID を使用)。見つかったら、そこに接続します。
3 つの手順はすべて機能していますが、何らかの理由で、手順 3 が成功した直後 (1 分未満) に、W1 への接続が切断され、デバイスによって無効になります。これは、コードを使用して wifi 接続を変更した場合にのみ発生します。私のコードは次のようになります。「net」変数には、元の wifi 接続の SSID (W1) の SSID 値が含まれています。元のWifiに再接続した直後に接続が切断される理由を知っている人はいますか?
if(net!=""){
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.contains(net)) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.setWifiEnabled(true);
break;
}
}
}