flutter 網(wǎng)絡(luò)是否可用,監(jiān)聽網(wǎng)絡(luò)變化

StreamSubscription<ConnectivityResult> _connectivitySubscription;
//網(wǎng)絡(luò)初始狀態(tài)
connectivityInitState() {
  _connectivitySubscription =
      Connectivity().onConnectivityChanged.listen((ConnectivityResult result) {
    print('=======' + result.toString());
    if (result == ConnectivityResult.none) {
      UiUtil.showToast('網(wǎng)絡(luò)已斷開,請鏈接網(wǎng)絡(luò)!');
      isConnectServerAvailable = false;
      StoreState.status = getXMMPConnectionStatus('DISCONNECTING');
      ConnectRefreshAction action = ConnectRefreshAction(StoreState.status);
      StoreState.connectStore.dispatch(action);
    } else {
      //UiUtil.showToast('鏈接中...');
      //每次網(wǎng)絡(luò)變化都會檢查網(wǎng)絡(luò)
      checkClientState();
    }
    //這個位置不能動
    networkStatus = result;
  });
}

//網(wǎng)絡(luò)結(jié)束監(jiān)聽
connectivityDispose() {
  _connectivitySubscription.cancel();
}

//網(wǎng)絡(luò)進(jìn)行監(jiān)聽
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,點贊,評論;

簡書: http://m.itdecent.cn/u/88db5f15770d

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容