Android-сканер Wi-Fi, список только сетей с определенным SSID

Мне нужно создать приложение для сканирования 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();
    }
}

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

1
0
181
1

Ответы 1

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

Другие вопросы по теме