如何在不记住密码的情况下以编程方式连接到 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();
}
我可以使用此代码连接到 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();
}