flutter detects network status

flutter detects network status

The original plug-in connectivity has been discontinued, and now the new version of the connectivity_plus
plug-in address is used: https://pub.dev/packages/connectivity_plus

import 'package:flutter/material.dart';
import 'package:connectivity_plus/connectivity_plus.dart';

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

  @override
  State<NetWorkPage> createState() => _NetWorkPageState();
}

class _NetWorkPageState extends State<NetWorkPage> {
    
    
  var subscription;
  String _state = "";
  @override
  void initState() {
    
    
    // TODO: implement initState
    super.initState();
    subscription = Connectivity()
        .onConnectivityChanged
        .listen((ConnectivityResult result) {
    
    
      if (result == ConnectivityResult.wifi) {
    
    
        setState(() {
    
    
          _state = "处于WiFi";
        });
      } else if (result == ConnectivityResult.mobile) {
    
    
        setState(() {
    
    
          _state = "处于手机网络";
        });
      } else {
    
    
        setState(() {
    
    
          _state = "没有网络";
        });
      }
      // Got a new connectivity status!
    });
  }

  @override
  void dispose() {
    
    
    // TODO: implement dispose
    super.dispose();
    subscription.cancel();
  }

  @override
  Widget build(BuildContext context) {
    
    
    return Scaffold(
      appBar: AppBar(
        title: Text("检测网络变化"),
      ),
      body: Center(
        child: Text("${_state}"),
      ),
    );
  }
}

void main() {
    
    
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
    
    
  const MyApp({
    
    Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    
    
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: NetWorkPage(),
    );
  }
}

Please add image description
Please add image description

Guess you like

Origin blog.csdn.net/m0_46527751/article/details/123214873