前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter 检测网络连接

Flutter 检测网络连接

作者头像
拉维
发布2019-09-16 16:22:32
3.6K0
发布2019-09-16 16:22:32
举报
文章被收录于专栏:iOS小生活iOS小生活

我们使用 connectivity 这个插件来监测网络。

代码语言:javascript
复制
import 'package:flutter/material.dart';
import 'package:connectivity/connectivity.dart';

class ConnectivityPage extends StatefulWidget {
  ConnectivityPage({Key key}) : super(key: key);

  _ConnectivityPageState createState() => _ConnectivityPageState();
}

class _ConnectivityPageState extends State<ConnectivityPage> {
  //网络状态描述
  String _connectStateDescription;

  var subscription;

  @override
  void initState() {
    super.initState();
    //监测网络变化
    subscription = Connectivity()
        .onConnectivityChanged
        .listen((ConnectivityResult result) {
      if (result == ConnectivityResult.mobile) {
        setState(() {
          _connectStateDescription = "手机网络";
        });
      } else if (result == ConnectivityResult.wifi) {
        setState(() {
          _connectStateDescription = "Wifi网络";
        });
      } else {
        setState(() {
          _connectStateDescription = "无网络";
        });
      }
      print(_connectStateDescription);
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("监测网络")),
      body: Center(
        // 显示网络状态
        child: Text("$_connectStateDescription"),
      ),
    );
  }

  @override
  void dispose() {
    super.dispose();
    //在页面销毁的时候一定要取消网络状态的监听
    subscription.cancle();
  }
}

效果如下:

以上。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档