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

Flutter 3.0.1如何获取WiFi下所有已连接设备列表?

局域网设备扫描相关示意图

Flutter 3.0.1 同WiFi连接设备信息获取方案

不存在可直接全平台生效、一键获取同WiFi下所有已连接设备真实MAC地址与设备名称的现成维护中插件,你之前测试的mdns 0.0.1、Wifi Plugin Info、Network Plugin info等依赖失效,核心原因是近两年Android、iOS系统权限持续收紧,且上述插件大多长期未更新适配新系统规则。要实现对应功能需要分平台处理,同时明确系统本身的能力限制:

  • Android端实现说明
    • 从Android 10开始,普通第三方应用无法获取其他联网设备的真实MAC地址,系统会返回随机生成的虚拟MAC值,仅系统签名应用、拥有root权限的设备可读取真实MAC,该限制为系统层面强制拦截,无通用绕过方案
    • 可实现的基础能力:
      1. 按需申请对应权限:Android 12及以下申请ACCESS_FINE_LOCATION、ACCESS_WIFI_STATE权限,Android 13及以上额外申请NEARBY_WIFI_DEVICES权限
      2. 通过MethodChannel桥接原生逻辑,读取系统/proc/net/arp路径下的ARP表文件,解析得到同网段所有在线设备的IP、对应MAC字段(Android 10+该字段为虚拟MAC)
      3. 设备名称可搭配官方维护的multicast_dns包做局域网多播扫描,识别开启了mDNS服务的设备名称;未开启mDNS的设备可额外补充SSDP、NetBIOS广播探测匹配名称
  • iOS端实现说明
    • iOS系统沙箱直接禁止普通应用读取当前WiFi下的连接设备列表,也未开放获取其他设备MAC地址的公开API,上架App Store的正规应用完全无法实现该需求,仅越狱设备可通过调用私有API实现,但对应的应用包无法通过App Store审核
  • 通用注意事项
    不要依赖长期未更新的老旧第三方插件,涉及系统权限、网络底层的能力如果现有插件不满足适配要求,直接通过MethodChannel自行桥接对应平台的原生实现即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 03:16:04