flutter 网络是否可用,监听网络变化

StreamSubscription<ConnectivityResult> _connectivitySubscription;
//网络初始状态
connectivityInitState() {
  _connectivitySubscription =
      Connectivity().onConnectivityChanged.listen((ConnectivityResult result) {
    print('=======' + result.toString());
    if (result == ConnectivityResult.none) {
      UiUtil.showToast('网络已断开,请链接网络!');
      isConnectServerAvailable = false;
      StoreState.status = getXMMPConnectionStatus('DISCONNECTING');
      ConnectRefreshAction action = ConnectRefreshAction(StoreState.status);
      StoreState.connectStore.dispatch(action);
    } else {
      //UiUtil.showToast('链接中...');
      //每次网络变化都会检查网络
      checkClientState();
    }
    //这个位置不能动
    networkStatus = result;
  });
}

//网络结束监听
connectivityDispose() {
  _connectivitySubscription.cancel();
}

//网络进行监听
Future<Null> initConnectivity() async {
  String connectionStatus;
  //平台消息可能会失败,因此我们使用Try/Catch PlatformException。
  try {
    connectionStatus = (await Connectivity().checkConnectivity()).toString();
    if (connectionStatus == ConnectivityResult.mobile) {
    } else if (connectionStatus == ConnectivityResult.wifi) {}
  } on PlatformException catch (e) {
    print(e.toString());
    connectionStatus = 'Failed to get connectivity.';
  }
}

更多详解:
喜欢可以加Q群号:913934649,点赞,评论;

简书: https://www.jianshu.com/u/88db5f15770d

csdn:https://me.csdn.net/beyondforme

掘金:https://juejin.im/user/5e09a9e86fb9a016271294a7

发布了159 篇原创文章 · 获赞 30 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/beyondforme/article/details/104137319