如何兼容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 的示例: