android - 如何在不以编程方式在 Android 中连接的情况下区分开放和安全 WiFi 网络?

标签 android android-wifi ssid

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

最佳答案

这里有用于识别网络类型的功能字段

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
            }
        }
    }

关于android - 如何在不以编程方式在 Android 中连接的情况下区分开放和安全 WiFi 网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25662761/

相关文章:

android - 使用 BroadcastReceiver 在 Android 中获取断开连接的 WiFi 网络的 SSID?

android - 一个 ExpandableListView 的多种布局

android - 尝试将 APK 安装到模拟器时失败 [install_parse_failed_no_certificates]

android - 使用布局权重的方法是什么

android - Android中的后台wifi扫描

linux:如何在没有root权限的情况下获取无线ssid?

android - Firebase 规则语法错误

android - 从 Android 设备中检索保存的 WiFi 密码

java - 如何自动连接指定SSID的WiFi?

sql - 无法连接到重定向器。确保 'sql browser' 服务正在运行