如何通过重启来记住wifi配置和连接的网络

Use*_*337 5 android android-wifi

我正在使用以下代码创建新的WiFi接入点并连接到它.
这段代码工作正常,我能够连接到wifi接入点,但我面临的问题是我正在创建的wifi连接没有记住通过设备的重新启动.

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"SSIDName\"";
wc.preSharedKey  = "\"password\"";
wc.hiddenSSID = true;
wc.status = WifiConfiguration.Status.ENABLED;        
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
int res = wifi.addNetwork(wc);
Log.d("WifiPreference", "add Network returned " + res );
boolean b = wifi.enableNetwork(res, true);        
Log.d("WifiPreference", "enableNetwork returned " + b );
Run Code Online (Sandbox Code Playgroud)

我要归档的是当我成功连接到SSID时,我想记住该网络,并且在下次重启设备时Android应该自动连接到之前连接的SSID.

是,在任何API WifiManagerWifiConfiguration这样做呢?

谢谢.

Use*_*337 2

我们必须通过调用保存WifiManager.saveConfiguration()当前创建的 wifi 配置来保存创建的 wifi 配置,我们还需要为创建的 wifi 配置设置最高优先级,以便下次重新启动时 android wi-fi 管理器会优先考虑该网络。