[英]How to short list same SSID in Android Wifi?
I'm working in the android wifi Application. 我正在android wifi应用程序中工作。 I created the wifi list from
wifiManager.getScanResults()
. 我从
wifiManager.getScanResults()
创建了wifi列表。 Now I have problem with two same SSID
. 现在我有两个相同的
SSID
问题。 I want short the two same SSID
in to one based on strongest signal strength. 我想根据最强的信号强度将两个相同的
SSID
缩短为一个。 Please help me to solve this problem. 请帮我解决这个问题。
WifiReceiver.java(extends BroadcastReceiver)
: 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 is sorted so try to check if wifiListString contains your ssid and ignore duplicates. 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);
}
}
but first you need to parse your array wifiListString to List. 但首先,您需要将数组wifiListString解析为List。 Example:
例:
Arrays.asList(wifiListString ).contains(ssid)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.