如何区分开放和安全的WiFi网络,而无需在android中以编程方式连接到它?

Cha*_*tJD 2 android ssid android-wifi

我正在尝试开发一个小应用程序,我可以扫描并连接到扫描的网络列表中的WiFi热点.但对于Open和Secure网络,我都写了一个密码提示,如果网络是打开的(事先知道它),我不输入密码并保持文本为空,然后输入然后连接.任何人都可以告诉如何识别编程开放和安全的wifi,这样我就不会要求Open Network的密码并让它直接连接.请帮忙.(我不知道哪个是Open,哪个是未来的安全网络,所以我们需要从SSID或其他东西识别开放和安全的网络)

小智 7

这里有功能字段,用于标识网络类型

WifiManager wifimanger = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    List<ScanResult> networkList = wifimanger.getScanResults();
    if (networkList != null) {
        for (ScanResult network : networkList) {
            String capabilities = network.capabilities;
            Log.w(TAG, network.SSID + " capabilities : " + capabilities);
            if (capabilities.toUpperCase().contains("WEP")) {
                // WEP Network
            } else if (capabilities.toUpperCase().contains("WPA")
                       || capabilities.toUpperCase().contains("WPA2")) {
                // WPA or WPA2 Network
            } else {
                // Open Network
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)