Как забыть WiFi, который сейчас недоступен? - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу забыть Wi-Fi сеть с этим примером кода, но он не может забыть Wi-Fi, который не находится в диапазоне.

private void removeNetwork(WifiManager wifiManager, WifiConfiguration wc) {
        if (!wifiManager.isWifiEnabled()) enableWifi();
        int id = wifiManager.addNetwork(wc);
        wifiManager.enableNetwork(id, true);
        wifiManager.removeNetwork(id);
        wifiManager.saveConfiguration();
    }

Как я могу удалить сеть?

UPD1:

Я говорю об информации WIFI, которую я добавил.

private void addNetwork(WifiManager wifiManager, WifiConfiguration wc) {
    if (!wifiManager.isWifiEnabled()) enableWifi();
    int id = wifiManager.addNetwork(wc);
    wifiManager.disconnect();
    wifiManager.enableNetwork(id, true);
    wifiManager.reconnect();
    wifiManager.saveConfiguration();
}

1 Ответ

0 голосов
/ 21 декабря 2018

Я протестировал этот пример кода и код работает хорошо, что-то не так с вашей реализацией этого кода.

Это зависит от конфигурации Wi-Fi, и это мой пример работы.

private void WPA(String networkSSID, String networkPass, WifiManager wifiManager, String command) {
        WifiConfiguration wc = new WifiConfiguration();
        wc.SSID = "\"" + networkSSID + "\"";
        wc.preSharedKey = "\"" + networkPass + "\"";
        wc.status = WifiConfiguration.Status.ENABLED;
        wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
        wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
        wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
        wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
        wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
        wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
        if (command.equals("add")) {
            addNetwork(wifiManager, wc);
        }else  if (command.equals("remove")) {
            removeNetwork(wifiManager,wc);
        }
    }
...