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.';
  }
}
image

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容