如何兼容Android10.0 Wi-Fi连接"addnetwork"方式Return-1?
How to compatible with Android10.0 Wi Fi connection "addnetwork" method Return -1?
Android9.0 以下使用“Addnetwork”。此方法 returns 正确,但在使用 Android 10.0 时失败。总是returns - 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
WifiManager.addNetwork(WifiConfiguration config)
已经 deprecated in API level 29。
相反,开发人员应使用上文 link 中所述的 WifiNetworkSpecifier
或“Wi-Fi 建议 API”。两个 API 都显示不同的系统对话框,要求用户连接到指定的网络。
您可以在这个 Whosebug 线程中找到 WifiSuggestions
API 的示例:
Android9.0 以下使用“Addnetwork”。此方法 returns 正确,但在使用 Android 10.0 时失败。总是returns - 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
WifiManager.addNetwork(WifiConfiguration config)
已经 deprecated in API level 29。
相反,开发人员应使用上文 link 中所述的 WifiNetworkSpecifier
或“Wi-Fi 建议 API”。两个 API 都显示不同的系统对话框,要求用户连接到指定的网络。
您可以在这个 Whosebug 线程中找到 WifiSuggestions
API 的示例: