我需要检查由getScanResults()方法返回的每个网络是否已在设备中配置,也就是说,我需要检查它是否存在于getConfiguredNetworks()返回的列表中。问题在于:由于它们唯一的共同参数是SSID,所以我该如何做到这一点?我知道这不是一个好的方法,因为可能会有更多具有相同SSID的网络。
如参考中所述,networkId是用于识别此网络配置条目的ID号码,但是我无法找到与ScanResult对象类似的内容。
因此,如果我的接收器是这样的:
有没有办法检查list.get(i)是否对应于results.get(j)配置,无论是i还是j?
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
registerReceiver(new BroadcastReceiver()
{
@Override
public void onReceive(Context c, Intent intent)
{
results = wifi.getScanResults();
size = results.size();
}
}, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
以下是我获取配置网络的方式:
List<WifiConfiguration> list = wifi.getConfiguredNetworks();
有没有办法检查list.get(i)是否对应于results.get(j)配置,无论是i还是j?