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

Flutter应用如何实现WiFi连接?多款第三方包尝试均失败

Flutter WiFi连接第三方包失效的解决办法

推荐使用维护活跃的第三方包

  • wifi_iot:当前维护状态良好,适配Android 10+权限规则,支持WiFi扫描、指定SSID(含密码)连接,构建成功率高。
  • flutter_wifi_connect:选择最新版本,已适配Android 12+的ACCESS_FINE_LOCATION、NEARBY_WIFI_DEVICES权限,避免因权限配置问题导致构建失败。

旧包适配方案(若需继续使用)

如果必须使用你提到的wifi_connect、wifi_connector等过时包,需做以下适配:

  1. 修改android/build.gradle,将compileSdkVersion和targetSdkVersion升级至33及以上;
  2. 在AndroidManifest.xml中补充必要权限:
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES" android:usesPermissionFlags="neverForLocation" />
    
  3. 针对Android 10+系统,需动态申请权限,示例代码:
    import 'package:permission_handler/permission_handler.dart';
    
    Future<void> requestWifiPermissions() async {
      final locationStatus = await Permission.location.request();
      if (locationStatus.isGranted) {
        // 执行WiFi连接逻辑
      }
    }
    

原生实现方案(最稳定)

若第三方包均无法满足需求,直接编写原生插件:

  • Android端:使用WifiManager(Android 9及以下)或WifiNetworkSpecifier(Android 10+)实现WiFi连接;
  • iOS端:利用NEHotspotConfiguration框架完成连接,需在Xcode中开启Hotspot Configuration权限。

注意:Android 12及以上版本,仅连接已知WiFi时无需定位权限,扫描WiFi仍需申请定位权限。

内容的提问来源于stack exchange,提问作者Samier Uddin Ahammad Shovo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 13:15:01