Java 如何以编程方式连接到Wifi而不记住密码?

Java 如何以编程方式连接到Wifi而不记住密码?,java,android,kotlin,wifi,Java,Android,Kotlin,Wifi,我可以使用以下代码连接到Wifi: fun connectToWifi(ssid: String, password: String) { val wifiConfig = WifiConfiguration() wifiConfig.SSID = String.format("\"%s\"", ssid) wifiConfig.preSharedKey = String.format("\"%s\"", password) val wifiManager = a

我可以使用以下代码连接到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();  
}

谢谢,但如果用户deosn没有通过任务管理器关闭应用程序,它仍将尝试再次连接到同一网络。通过设置连接到网络时,有一个选项可供选择是否记住。代码中是否有此选项?我不明白问题所在,当你想忘记wifi凭据时?我希望它永远不会记住凭据。它应该只连接。我认为这是一个系统功能,无法阻止。然而就像我说的,你可以随时忘记wifi@萨利赫:好吧,看起来是这样。非常感谢你: