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

三星S23/Z Fold5机型Flutter应用网络检测异常求助

解决方案

针对你在三星S23、Galaxy Z Fold5的Release APK中网络检测异常的问题,可按以下步骤排查修复:

1. 修正代码结构,将DNS解析操作放入try块

你当前的代码把InternetAddress.lookup放在了try块外部,一旦解析失败会直接抛出异常,无法被后续的catch捕获。调整代码如下:

try {
  final result = await InternetAddress.lookup('example.com');
  if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
    Get.snackbar('Internet', 'Navigate to Internet');
  } else {
    Get.snackbar('No Internet', 'Navigate to No Internet');
  }
} on SocketException catch (_) {
  Get.snackbar('No Internet', 'SocketException');
}

2. 添加网络状态权限

仅INTERNET权限可能不足以在部分三星设备上正常检测网络,需在AndroidManifest.xml中添加:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

3. 改用实际Socket连接检测(更可靠)

DNS解析成功不代表实际网络可连通,部分三星设备的Release模式下可能存在DNS缓存或系统限制,建议替换为直接建立Socket连接的方式:

try {
  // 连接example.com的443端口(HTTPS默认端口),设置5秒超时
  final socket = await Socket.connect('example.com', 443, timeout: const Duration(seconds: 5));
  socket.close();
  Get.snackbar('Internet', 'Navigate to Internet');
} on SocketException catch (_) {
  Get.snackbar('No Internet', 'SocketException');
}

4. 配置Android网络安全策略

部分三星设备对网络请求有严格的安全限制,可添加网络安全配置文件:

  1. 在res/xml目录下创建network_security_config.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">example.com</domain>
    </domain-config>
</network-security-config>
  1. 在AndroidManifest.xml的application标签中引用该配置:
<application
    ...
    android:networkSecurityConfig="@xml/network_security_config">
    ...
</application>

5. 排查Release模式构建配置

若开启了代码混淆或资源压缩,可能意外影响网络相关逻辑,可临时关闭测试(不建议长期关闭,测试后需恢复):
在android/app/build.gradle的release构建类型中修改:

buildTypes {
    release {
        minifyEnabled false
        shrinkResources false
        signingConfig signingConfigs.release
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 04:20:25