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

Flutter项目WebSocket在Android 13及以上版本无法正常工作

Flutter WebSocket在Android 13/14无法接收消息的排查方案
  • 补全WebSocket错误与状态监听
    当前代码仅处理连接建立,未监听错误和连接关闭事件,Android 13+的网络异常可能被静默吞掉,先添加监听获取关键日志:

    final String url = "wss://******";
    if (_webSocket == null) {
      _webSocket = await WebSocket.connect(url);
      // 添加消息、错误、关闭监听
      _webSocket?.listen(
        (message) {
          print('收到WebSocket消息: $message');
          // 处理消息逻辑
        },
        onError: (error, stackTrace) {
          print('WebSocket错误: $error,栈信息: $stackTrace');
        },
        onDone: () {
          print('WebSocket连接已关闭');
          _webSocket = null;
        },
      );
    }
    
  • 验证TLS证书与协议兼容性
    Android 13+对HTTPS/WSS的TLS协议版本和证书要求更严格:

    • 确认服务器使用TLS 1.2及以上版本,禁用TLS 1.0/1.1
    • 检查服务器证书是否完整可信(自签证书需手动安装到测试设备的系统信任区)
    • 临时测试可改用非加密的ws://协议(仅用于排查,正式环境禁用)
  • 清理并优化AndroidManifest配置
    配置中usesCleartextTraffic="true"对WSS加密连接无效,可移除避免干扰;若WebSocket需在后台维持,需添加前台服务相关声明:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <!-- 后台维持WebSocket需添加的权限 -->
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
        <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    
        <application>
            <activity android:name=".YourActivityName"></activity>
            <!-- 若用服务维持WebSocket,添加服务声明 -->
            <service
                android:name=".WebSocketService"
                android:foregroundServiceType="dataSync" />
        </application>
    </manifest>
    
  • 升级Flutter SDK与依赖
    旧版本Flutter的WebSocket实现可能存在Android 13+兼容性问题,升级到最新稳定版(如3.10+),并执行flutter pub upgrade更新所有依赖。

  • 排查服务器端推送逻辑
    检查服务器日志,确认是否向Android 13/14客户端发送了消息:

    • 验证服务器是否根据客户端UA或系统版本做了推送限制
    • 确认WebSocket连接建立后,服务器端有没有正确绑定客户端会话
  • 排除设备网络环境干扰

    • 关闭设备的网络代理、VPN或系统安全软件
    • 切换到移动网络测试,排除WiFi环境的防火墙限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:46:01