首页 > 其他分享 >flutter获取网络连接状态

flutter获取网络连接状态

时间:2023-11-22 17:04:02浏览次数:27  
标签:Connectivity connectivityResult 网络 获取 netType 网络连接 ConnectivityResult flutter

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

 

然后将最新版本添加到 Flutter 项目配置文件中

 获取网络类型

  //获取网络类型
  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(() {});
  }

获取是否联网

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

当联网状态有变化时,还能监听是否断开网络

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

 

标签:Connectivity,connectivityResult,网络,获取,netType,网络连接,ConnectivityResult,flutter
From: https://www.cnblogs.com/wxcbg/p/17849735.html

相关文章

  • 获取带时区的日期时间类
    publicclassT1{publicstaticvoidmain(String[]args){ZonedDateTimenow=ZonedDateTime.now();System.out.println(now);}}......
  • 16、Flutter Wrap组件 实现流布局
    Wrap可以实现流布局,单行的Wrap跟Row表现几乎一致,单列的Wrap则跟Column表现几乎一致。但Row与Column都是单行单列的,Wrap则突破了这个限制,mainAxis上空间不足时,则向crossAxis上去扩展显示。 Wrap组件的使用//自定义按钮组件classMyAppextendsStatelessWidget{String......
  • java读取.properties文件,通过key获取value
    1.将xx.properties文件放置在src/main/resources/config目录下(config是自己建的目录)2.通过ApplicationHome类获取target路径ApplicationHomeapplicationHome=newApplicationHome(this.getClass());Stringpath=applicationHome.getSource().getParent();3.拼......
  • 获取paramiko的实时输出信息(转)
    addbyzhj:其实两种方案区别很小,就是在stdout读取时有细微的区别原文:https://www.cnblogs.com/t-road/p/13963759.html作者:道霖方案一:ssh_client=paramiko.SSHClient()ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh_client.connect(hostname=ip,......
  • 三种办法遍历对象数组,获取数组对象中所有的属性值(key,value);四种方法查找对象数组里面
    一,获取对象数组中某属性的所有值如果是要获取具体第几个属性的值,倒是可以用arr[i].name的方法来实现。若是全部的属性的值,并返回一个新的数组嘞,思路是加循环遍历方法如下。1、from方法vararr=[{id:1,name:"小明"},{id:2......
  • 浏览器标签页切换获取数据
    refresh(){/*浏览器标签页切换会触发"visibilitychange"事件*/document.addEventListener('visibilitychange',e=>{//切换显示标签if(document.visibilityState==='visible'){this.getTabelData()......
  • 如何获取Linux系统的性能调优指标
    一、Linux下的进程性能指标进程管理在任何操作系统上都是最重要事情。高效的进程管理能够确保应用高效稳定的运行。Linux的进程管理方式类似于Unix的进程管理方式,包含进程调度、中断处理、信号、进程优先级、进程切换、进程状态、进程的内存等等。需要看视频版,点我直达1、进程的概......
  • js常见操作,获取随机数、定时器
    一、js获取随机数的方法1、Math.random()方法,该方法返回一个大于等于0且小于1的伪随机浮点数。如果需要获取特定范围内的随机数,可以使用数字运算来调整结果。//获取0到1之间的随机数varrandomNum=Math.random();//获取0到10之间的随机整数varrandomInt=Math.floor(Math.ra......
  • Bat脚本日期时间获取
    日期时间获取%date%和%time%是系统内置的日期变量和时间变量;@REM提取年月日信息echo%date:~0,10%@REM提取星期几信息echo%date:~-3%@REM提取时间中的时和分echo%time:~0,5%@REM提取时和分和秒信息echo%time:~0,-3%@REM年echo%Date:~0,4%@REM月echo%Date......
  • 15、Flutter 按钮组件
    按钮组件的属性ButtonStylee里面的常用的参数 ElevatedButtonElevatedButton即"凸起"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大classMyAppextendsStatelessWidget{constMyApp({super.key});@overrideWidgetbuild(BuildContextcontext){......