【问题标题】:android WiFi scanner, list only networks with specific SSIDandroid WiFi 扫描仪,仅列出具有特定 SSID 的网络
【发布时间】:2019-01-22 19:32:51
【问题描述】:

我需要在 Android 设备上创建 WiFi 扫描仪应用程序。我设法做到了,但有些事情我不知道如何处理。

    class WifiReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        sb = new StringBuilder();
        Comparator<ScanResult> comparator = new Comparator<ScanResult>() {
            @Override
            public int compare(ScanResult o1, ScanResult o2) {
                return (o1.level>o2.level ? -1 : (o1.level==o2.level ? 0 : 1));
            }
        };
        lista = wifiManager.getScanResults();
        Collections.sort(list, comparator);
        for (int i = 0; i < list.size(); i++) {
            scanResult = wifiManager.getScanResults().get(i);
            sb.append(new Integer(i + 1).toString() + ". " + (list.get(i)).SSID + "  " + (list.get(i)).BSSID + "  " + (list.get(i)).level + "\n");
        }
        txt.setText(sb);
        wifiManager.startScan();
    }
}

建筑物中有多个具有相同 SSID 的 WiFi 网络,比如说ABCD。我想保存在list,这是List&lt;ScanResult&gt; 类型,只有具有此特定SSID ABCD 的网络,而不需要创建另一个字段,例如list。如果有任何帮助,我将不胜感激

【问题讨论】:

    标签: android android-studio android-wifi


    【解决方案1】:

    我假设您的意思是您想要一种过滤扫描并仅返回指定 ssid 的方法,我知道在后端无法做到这一点。您可以浏览现有列表并提取所需的列表并保存到新列表中。
    您还可以使用现有代码并检查 ssid 是否在循环内匹配,如果匹配则仅构建字符串。
    大多数情况下,您将在列表或回收站视图中显示可用网络列表,因此通常二级列表是可行的方法。

    【讨论】:

      猜你喜欢
      • 2018-12-19
      • 2014-05-05
      • 2011-02-28
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 2014-07-26
      相关资源
      最近更新 更多