首页 > 解决方案 > 无法删除由同一应用程序以编程方式创建的 Wi-Fi 配置文件

问题描述

我有一个使用 Xamarin 表单开发的 android 应用程序,我将使用 Wifi Manager 在我的应用程序中显示可用的 wifi 网络。用户选择任何网络并提供密码,然后我将添加该网络并启用它来连接它。这是代码

var configuredNetworksList = wifiManager.ConfiguredNetworks.ToArray();
 if (configuredNetworksList != null)
    {
      var existingWifiConfig = configuredNetworksList.Where(r => r.Ssid == wifiConfig.Ssid).ToArray();
      foreach (WifiConfiguration temp in existingWifiConfig)
            {
                bool isSuccess = wifiManager.RemoveNetwork(temp.NetworkId);
                wifiManager.SaveConfiguration();
            }
        }

        int id = wifiManager.AddNetwork(wifiConfig);

        wifiManager.SaveConfiguration();

        wifiManager.EnableNetwork(id, true)

上面的代码工作正常。但问题场景是,

在此处输入图像描述

注意:正如您在代码中看到的,在添加选定的网络之前,我将删除所有具有相同选定 ssid 的网络。

根据 android 文档Android 6.0 Changes 文档,我们无法删除由另一个应用程序创建的 wifi 配置文件。

但就我而言,wifi 是由同一个应用程序创建的。

有人可以帮忙吗?

提前致谢。

标签: androidwifiwifimanager

解决方案


注意:

var existingWifiConfig = configuredNetworksList.Where(r => r.Ssid == wifiConfig.Ssid).ToArray(); 
//should be SSID, not Ssid.

医生在这里


推荐阅读