#判断网络状态
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.vpn:
// // TODO: Handle this case.
// break;
}
mySetState(() {});
});
}
@override
void dispose() {
if (_subscription != null) {
_subscription?.cancel();
}
super.dispose();
}