flutter app启动页的强制获取配置前先检查是否有网络

  #判断网络状态
  connectivity_plus: ^2.3.9
  late StreamSubscription<ConnectivityResult>? _subscription;
  
  //在初始化监听网络
  @override
  void initState() {
    super.initState();
    ///监听网络状态
    _subscription = Connectivity()
        .onConnectivityChanged
        .listen((ConnectivityResult result) {
      PrintUtil.prints('tag_网络状态 $result');
      switch (result) {
        case ConnectivityResult.wifi:
          Global.isConnectionStatus = true;
          _getHubConfigData();//当连上Wi-Fi时强制获取配置
          break;
        case ConnectivityResult.mobile:
          Global.isConnectionStatus = true;
          _getHubConfigData();//当用上手机网络时强制获取配置
          break;
        case ConnectivityResult.bluetooth:
          Global.isConnectionStatus = true;
          break;
        case ConnectivityResult.ethernet:
          Global.isConnectionStatus = true;
          _getHubConfigData();//当用上蜂窝网络时强制获取配置
          break;
        case ConnectivityResult.none:
          Global.isConnectionStatus = false;
          break;
      // case ConnectivityResult.:
      //   // TODO: Handle this case.
      //   break;
      }
      mySetState(() {});
    });

  }
  
  @override
  void dispose() {
    if (_subscription != null) {
      _subscription?.cancel();
    }
    super.dispose();
  }

你可能感兴趣的:(flutter,ios,flutter,ios)