问题描述
我已经实现了一个应用程序,该应用程序将允许用户连接到所需的网络。
如果已经通过电话记住了SSID记录。它将通知用户手动删除SSID记录。
这是一些示例代码
temp = -1;
for (int i = 0; i < WiFi.Configurednetworks.Count; i++)
{
if (String.Compare(WiFi.Configurednetworks[i].Ssid,("\"" + SSID + "\"")) == 0)
{
temp = WiFi.Configurednetworks[i].NetworkId;
break;
}
}
if(temp != -1) //This SSID is already remembered by phone
{
bool success = WiFi.RemoveNetwork(temp)
if(success == false)
{
//Call some function to notify user to manually remove the network
}
}
事情在//Call some function to notify user to manually remove the network
发生了。
有时用户会转到wifi系统页面。他们发现没有该SSID的记录。
我认为,如果RemoveNetwork()
返回失败,则意味着该SSID已经被电话记住。
它不是由当前应用程序构建的。
那是错吗?
问题在设备Nokia 8(Android 9)上发生。
解决方法
WifiManager的文档说:
Compatibility Note: For applications targeting Build.VERSION_CODES.Q or above,this API will always fail and return false.
如果您的API级别低于29,则您可能未通过有效的NetworkId
。