android WiFi сканер, список только сетей с определенным SSID - PullRequest
0 голосов
/ 22 января 2019

Мне нужно создать приложение для сканера WiFi на устройстве Android. Мне удалось это сделать, но есть кое-что, с чем я не знаю, как справиться.

    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();
    }
}

В здании есть несколько сетей WiFi с одинаковым SSID, скажем, ABCD. Я хочу сохранить в list, тип List<ScanResult>, только сети с этим конкретным SSID ABCD без необходимости создания другого поля, такого как list, если это возможно. Буду признателен за любую помощь

1 Ответ

0 голосов
/ 22 января 2019

Полагаю, вы имеете в виду, что вам нужен способ отсканировать сканирование и вернуть только указанный ssid, я не знаю, как это сделать на сервере. Вы можете просмотреть свой существующий список, вытащить нужные и сохранить в новом списке.
Вы также можете использовать свой существующий код и проверить, соответствует ли ssid внутри вашего цикла, и только построить строку, если это так.
Большую часть времени вы будете показывать список доступных сетей в виде списка или в режиме вторичной переработки, поэтому обычно второстепенный список - это путь.

...