[Flutter] 连接状态connectivity_plus


Flutter 连接状态connectivity_plus

配置依赖

  #检测网络状态
  connectivity_plus: ^2.2.1

导入包

import 'package:connectivity_plus/connectivity_plus.dart';

定义变量

  var subscription;
  String? _stateText;//用来显示状态

初始化

@override
void initState() {
    super.initState();
    subscription = Connectivity()
        .onConnectivityChanged
        .listen((ConnectivityResult result) {
            if (result == ConnectivityResult.wifi) {
                setState(() {
                    _stateText = "当前处于wifi网络";
                });
            } else if (result == ConnectivityResult.mobile) {
                setState(() {
                    _stateText = "当前处于数据流量网络";
                });
            } else if (result == ConnectivityResult.none) {
                setState(() {
                    _stateText = "当前无网络连接";
                });
            } else {
                setState(() {
                    _stateText = "处于其他连接";
                });
            }
        });
}

销毁

@override
void dispose() {
    super.dispose();
    subscription.cancel();
}

显示状态组件

Center(
    child: Text(_stateText!),
),

相关