我有一个使用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 documentation,我们无法删除由其他应用创建的wifi配置文件。
但是在我的情况下,wifi是由同一应用创建的。
有人可以帮忙吗?
谢谢。
答案 0 :(得分:0)
注意:
var existingWifiConfig = configuredNetworksList.Where(r => r.Ssid == wifiConfig.Ssid).ToArray();
//should be SSID, not Ssid.
doc是here。