Flutter获取当前网络类型

Posted 早起的年轻人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter获取当前网络类型相关的知识,希望对你有一定的参考价值。

在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。

如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。

通过使用插件connectivity可以获取到当前设备是否联网,以及当前的网络类型是WIFI还是移动网络

那么首先第一步就是去加载插件,首先去 pub仓库 搜索插件最新版本
在这里插入图片描述
在这里插入图片描述
然后将最新版本添加到 Flutter 项目配置文件中

在这里插入图片描述
然后在使用的时候导入头文件

import 'package:connectivity/connectivity.dart';
  //获取网络类型
  String _netType;

  void isConnectedType() async {
    //获取网络连接类型
    var connectivityResult = await (Connectivity().checkConnectivity());
    
    if (connectivityResult == ConnectivityResult.mobile) {
      // 网络类型为移动网络
      _netType = "4G";
    } else if (connectivityResult == ConnectivityResult.wifi) {
      // 网络类型为WIFI
      _netType = "WIFI";
    }else{
      _netType = "未联接";
    }
    setState(() {});
  }

当然可以直接根据 connectivityResult 来判断是否联网

//判断是否联网
  Future<bool> isConnected() async {
    var connectivityResult = await (Connectivity().checkConnectivity());
    return connectivityResult != ConnectivityResult.none;
  }

当然当你的网络有变化时,还可以在这里设置监听

  //添加网络切换监听 
  connectLiserner() async {
    //获取Stream
    Stream<ConnectivityResult> resultStream =
        Connectivity().onConnectivityChanged;
    //添加监听
    resultStream.listen((event) {
      //
    });
  }

完毕

不局限于思维,不局限语言限制,才是编程的最高境界。

以小编的性格,肯定是要录制一套视频的,随后会上传

有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料

以上是关于Flutter获取当前网络类型的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段

如何获取当前显示的片段?

Flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform(代码片段

没有使用 navController.currentDestination?.id 获取当前片段 ID

实时获取当前登录用户的数据 - Flutter & Firestore

Flutter异步获取网络数据