繁体   English   中英

如何在Android Wifi中短名单相同的SSID?

[英]How to short list same SSID in Android Wifi?

我正在android wifi应用程序中工作。 我从wifiManager.getScanResults()创建了wifi列表。 现在我有两个相同的SSID问题。 我想根据最强的信号强度将两个相同的SSID缩短为一个。 请帮我解决这个问题。

WifiReceiver.java(extends BroadcastReceiver)

@Override
public void onReceive(final Context context, Intent intent) {

wifiSRList = wifiManager.getScanResults();

Collections.sort(wifiSRList, new Comparator<ScanResult>() {
        @Override
        public int compare(ScanResult lhs, ScanResult rhs) {
            return (lhs.level > rhs.level ? -1 : (lhs.level == rhs.level ? 0 : 1));
        }
    });
for (int i = 0; i < wifiSRList.size(); i++) {
    wifiListString[i] = (wifiSRList.get(i).SSID);
}

wifiListView.setAdapter(new ArrayAdapter<>(context, R.layout.custom_wifi_list, wifiListString));

}

wifiSRList已排序,因此请尝试检查wifiListString是否包含您的ssid并忽略重复项。

String ssid="";
    for (int i = 0; i < wifiSRList.size(); i++) {
        ssid=wifiSRList.get(i).SSID;
        if(!wifiListString.contains(ssid)){
            wifiListString.add(ssid);               
        }
    }

但首先,您需要将数组wifiListString解析为List。 例:

Arrays.asList(wifiListString ).contains(ssid)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM