Android 9.0下使用了Addnetwork。此方法正确返回,但在使用Android 10.0时会失败。它总是返回- 1。原因是什么?这是我的核心代码:
public WifiConfiguration createWifiInfo(String SSID, String Password,
int Type) {
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = "\"" + SSID + "\"";
WifiConfiguration tempConfig = this.isExsits(SSID);
if (tempConfig != null) {
mWifiManager.removeNetwork(tempConfig.networkId);
}
if (Type == 1) // WIFICIPHER_NOPASS
{
config.wepKeys[0] = "";
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
}
return config;
}
部分代码:
WifiConfiguration wifiInfo = createWifiInfo("", "", 1);
networkId = mWifiManager.addNetwork(wifiInfo);//result: networkId:-1
发布于 2020-11-17 21:43:41
WifiManager.addNetwork(WifiConfiguration config)
已经被deprecated in API level 29了。相反,开发人员希望使用WifiNetworkSpecifier
或"Wi-Fi建议应用程序接口“,如上面的链接所述。这两个API显示不同的系统对话框,要求用户连接到指定的网络。
您可以在以下StackOverflow线程中找到WifiSuggestions
API的示例:Creating a custom wifi setup
https://stackoverflow.com/questions/64875628
复制相似问题