如何在不记住密码的情况下以编程方式连接到 Wifi?

How to connect to Wifi programmatically without remembering password?

我可以使用此代码连接到 Wifi:

fun connectToWifi(ssid: String, password: String) {
    val wifiConfig = WifiConfiguration()
    wifiConfig.SSID = String.format("\"%s\"", ssid)
    wifiConfig.preSharedKey = String.format("\"%s\"", password)
    val wifiManager = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
    val netId = wifiManager.addNetwork(wifiConfig)
    wifiManager.disconnect()
    wifiManager.enableNetwork(netId, true)
    AccessPointManager.currentlyConnectedNetId = netId
    wifiManager.reconnect()
}

但是,它会记住密码并自动重新连接,即使在应用程序被终止时也是如此。我需要它只连接一次并忘记密码。我怎样才能做到这一点?谢谢

您可以在应用被终止后将其从保存的网络中删除。应用未被杀死时,监听网络变化,断网时移除。

List<WifiConfiguration> networks = wifiManager.getConfiguredNetworks();
for( WifiConfiguration wifi : networks) {
    wifiManager.removeNetwork(wifi.networkId);
    wifiManager.saveConfiguration();  
}