首页 > 其他分享 >Flutter 获取设备网络类型

Flutter 获取设备网络类型

时间:2024-10-18 20:46:40浏览次数:11  
标签:network ConnectivityResult am 网络 获取 connected print connectivityResult Flutter

前言

现在有一个需求,需要能够知道手机端网络类型,如果是WiFi则去使用局域网通信。在这里我选用了connectivity_plus这个库

connectivity_plus的平台支持

安卓

iOS系统

苹果系统

网络

Linux

视窗

connectivity_plus的API

API

描述

checkConnectivity

检查设备的连接状态

onConnectivityChanged

设备的连接状态更改时激发。

在iOS上,WiFi状态发生变化时,连接状态可能不会更新,这是一个只影响模拟器的已知问题

 示例代码

void scanType() async {
   final connectivityResult = await (Connectivity().checkConnectivity());
   if (connectivityResult == ConnectivityResult.mobile) {
     // I am connected to a mobile network.
     print("移动网络");
   } else if (connectivityResult == ConnectivityResult.wifi) {
     // I am connected to a wifi network.
     print("wifi网络");
   } else if (connectivityResult == ConnectivityResult.ethernet) {
     // I am connected to a ethernet network.
     print("以太网");
   } else if (connectivityResult == ConnectivityResult.vpn) {
     // I am connected to a vpn network.
     // Note for iOS and macOS:
     // There is no separate network interface type for [vpn].
     // It returns [other] on any device (also simulator)
     print("vpn网络");
   } else if (connectivityResult == ConnectivityResult.bluetooth) {
     // I am connected to a bluetooth.
     print("蓝牙");
   } else if (connectivityResult == ConnectivityResult.other) {
     // I am connected to a network which is not in the above mentioned networks.
     print("其他网络");
   } else if (connectivityResult == ConnectivityResult.none) {
     // I am not connected to any network.
     print("无网络");
   }
 }
 
 changeScan() {
   StreamSubscription subscription = Connectivity()
       .onConnectivityChanged
       .listen((ConnectivityResult result) {
     print("改变了情况:$result");
   });
 }

标签:network,ConnectivityResult,am,网络,获取,connected,print,connectivityResult,Flutter
From: https://blog.csdn.net/nonagontech/article/details/143027424

相关文章

  • 第8篇:网络安全基础
    目录引言8.1网络安全的基本概念8.2网络威胁与攻击类型8.3密码学的基本思想与加密算法8.4消息认证与数字签名8.5网络安全技术与协议8.6总结第8篇:网络安全基础引言在现代信息社会中,计算机网络无处不在,从互联网到局域网,从家庭网络到企业内部网,网络通信已经成为......
  • 第9篇:网络访问控制与认证机制
    目录引言9.1访问控制策略概述9.2认证机制的使用9.3密钥分发与证书机制9.4访问控制与认证在网络安全中的应用9.5网络访问控制与认证的挑战9.6总结第9篇:网络访问控制与认证机制引言随着计算机网络的不断普及,安全问题日益受到关注。网络访问控制和认证机制是确......
  • 网络流
    网络流是求网络最大流的算法,看似没什么用,实际上很多题目都可以通过建图转化为网络最大流问题P3376【模板】网络最大流概念“网络最大流问题”本身是指从一个原点\(s\)往外流水,这个原点本身有无穷多水可以流,有\(m\)根双向管道连接\(n\)个节点,每个节点都有一个最大流量......
  • 20222424 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    202224242024-2025-1《网络与系统攻防技术》实验二实验报告1.实验内容使用netcat获取主机操作Shell,cron启动某项任务使用socat获取主机操作Shell,任务计划启动使用MSFmeterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell使用MSFmete......
  • 网络常用工具
    软件工具puttySecureCRTCMD华为模拟器-enspwindwos常用命令pingtracertnslookupipconfigtelnet硬件工具Console线网络钳寻线仪红光笔光功率计故障处理常用方法对比分析互换分析仪表测试分段处理常见故障私接路由排查通过arp-a获取mac地址,再通过交......
  • Piper: 快速、本地化的神经网络文本转语音系统
    Piper简介Piper是一个快速、本地化的神经网络文本转语音(TTS)系统,专为树莓派4优化设计,但也可在其他平台上运行。它提供高质量的语音合成,支持多种语言和声音,适用于各种项目和应用场景。PiperlogoPiper的主要特点包括:快速高效:针对树莓派4等设备进行了优化本地运行:无需......
  • 20222408 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容1.1本周学习内容本次实验中,学习的重点是后门的实现与启动方式,学习内容还有后门的定义、原理以及可能影响,netcat、socat、MSFmeterpreter软件的应用。1.2实验内容简述使用netcat获取主机操作Shell,利用cron启动一项任务使用socat获取主机操作Shell,利用创建任务计......
  • 快快网络DDoS安全防护系统抵御了创纪录的 2.35 Tbps DDoS 攻击
    在网络安全领域,分布式拒绝服务(DDoS)攻击因其巨大的破坏力和难以防范的特性,一直是网络攻防斗争的焦点。近日,快快网络宣布,其自研的DDoS安全防护产品成功抵御了一次创纪录的2.35TbpsDDoS攻击,这是迄今为止国内监测到的最大规模的攻击。快快网络DDoS团队的数据显示,此次T级DDoS攻击......
  • 网络安全--信息收集
    学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。补天漏洞响应平台补天-企业和白帽子共赢的漏洞响应平台,帮助企业建立SRC子域名域名下可能存在多个子域名地......
  • 基于网络爬虫技术的中国电动汽车市场分析与可视化系统 毕业设计-附源码02721
    摘要中国电动汽车市场快速发展,政策支持和环保意识提升推动了电动汽车需求增长。基于网络爬虫技术的中国电动汽车市场分析与可视化系统旨在提供全面的电动汽车市场数据分析和直观的可视化展示。系统利用Python进行数据处理和分析,Django构建后端框架,Vue实现前端交互,实现数据的......