java - 如何在不记住密码的情况下以编程方式连接到 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 = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
    val netId = wifiManager.addNetwork(wifiConfig)
    wifiManager.disconnect()
    wifiManager.enableNetwork(netId, true)
    AccessPointManager.currentlyConnectedNetId = netId
    wifiManager.reconnect()
}

但是,即使应用程序被终止,它也会记住密码并自动重新连接。我只需要它连接一次并忘记密码。我怎样才能实现这个目标?谢谢。

最佳答案

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

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

关于java - 如何在不记住密码的情况下以编程方式连接到 Wifi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53691639/

相关文章:

android - Unity3d 安卓插件问题

android - 如何在 JetPack Compose Android 的应用程序类中使用首选项数据存储来更改主题?

java - 计算有多少列表条目具有以特定字符结尾的字符串属性

java.util.zip.ZIPException : Not in GZIP format

java - apache通用配置文件放在哪里

android - 使用 ML 套件从位图中读取条形码信息

android - 修改大字符串的内容

Java:使用 get 方法获取参数,例如在一个字符串中发送

android - 覆盖 Google 日历的默认提醒设置

java - Android Studio 中的条件问题