現在の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();
Wi-Fi の状態をチェックするブロードキャストを受信しました。正しい SSID に接続されたら続行できますが、このプロセスには最大 10 秒かかります。これにもっと速く接続するには、config または wifimanager を設定するにはどうすればよいですか?
ありがとう