You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发如何遍历List<ScanResult>获取各WiFi扫描结果信息

访问List集合中ScanResult实例信息的实现方法

你在拿到List<ScanResult> scanResults集合后,只需要遍历集合取出每一个独立的ScanResult实例对象,再通过实例访问对应字段、调用对应方法即可拿到热点信息,注意SSID、BSSID属于实例成员属性,不是类静态属性,不能直接通过类名调用。

常用遍历实现

  • 带索引的基础for循环(逻辑最直观,适合新手)
// 必须先判空,扫描失败、权限不足时结果可能为null,直接调用会触发空指针崩溃
if (scanResults != null && !scanResults.isEmpty()) {
    for (int index = 0; index < scanResults.size(); index++) {
        // 取出当前索引位置的单个热点实例
        ScanResult currentAp = scanResults.get(index);
        // 访问实例公开字段获取热点信息
        String apSsid = currentAp.SSID; // 热点名称
        String apBssid = currentAp.BSSID; // 热点MAC地址
        int apRssi = currentAp.level; // 热点信号强度,单位dBm
        int apFreq = currentAp.frequency; // 热点工作频段,单位MHz
        // 调用实例方法获取扩展信息,比如信息元素
        // List<ScanResult.InformationElement> infoElements = currentAp.getInformationElements();

        // 此处写入自定义业务逻辑,比如打印日志、过滤特定热点
        Log.i("WifiScanResult", "序号:" + index + ",SSID:" + apSsid + ",BSSID:" + apBssid + ",信号:" + apRssi + "dBm");
    }
}
  • 增强for循环(写法更简洁,不需要索引时推荐使用)
if (scanResults != null) {
    for (ScanResult currentAp : scanResults) {
        // 取值逻辑和基础for循环完全一致
        String ssid = currentAp.SSID;
        String bssid = currentAp.BSSID;
        // 自定义业务处理
    }
}

配合RangingRequest使用的示例

如果你需要把扫描到的热点添加到RTT测距请求中,遍历时直接将符合条件的ScanResult实例传入Builder的添加方法即可:

RangingRequest.Builder rangingBuilder = new RangingRequest.Builder();
if (scanResults != null) {
    for (ScanResult ap : scanResults) {
        // 先校验热点是否支持802.11mc RTT测距能力,避免添加不支持的设备导致报错
        if (ap.is80211mcResponder()) {
            rangingBuilder.addAccessPoint(ap);
        }
    }
}
RangingRequest rangingRequest = rangingBuilder.build();

新手注意事项

  1. 所有遍历操作前必须做判空校验,Wifi扫描流程受权限、系统状态影响很大,返回null是常见情况
  2. Android 8.0及以上版本对ScanResult返回的字段做了权限限制,Android 12+需要声明ACCESS_FINE_LOCATION、NEARBY_WIFI_DEVICES权限并动态申请通过,否则会拿到<unknown ssid>这类无效值
  3. 部分系统定制ROM会对Wifi扫描结果做隐藏处理,未授信的应用可能拿到空列表,调试时需要注意排查权限和系统限制问题

内容的提问来源于stack exchange,提问作者Allen997

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:15:10