Flutter判断是否联网并获取当前网络类型

是否联网及网络类型

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

添加依赖

要使用这个插件,首先在工程的pubspec.yaml文件中加入对这个插件的依赖:

1
2
dependencies:
connectivity: ^0.4.2

下载插件

1
flutter packages get

判断是否联网

1
2
3
4
5
6
import 'package:connectivity/connectivity.dart';

Future<bool> isConnected() async {
var connectivityResult = await (Connectivity().checkConnectivity());
return connectivityResult != ConnectivityResult.none;
}

获取网络类型

1
2
3
4
5
6
7
8
import 'package:connectivity/connectivity.dart';

var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
// 网络类型为移动网络
} else if (connectivityResult == ConnectivityResult.wifi) {
// 网络类型为WIFI
}

总结

通过这个插件可以获取到当前网络是WIFI或者移动网络,但不能获取到具体的移动网络类型,如2G/3G/4G/4G+等。

本文原创地址为:http://examplecode.cn/2019/04/13/flutter-network-type/
转载请注明出处。

我的博客中关于Flutter的所有文章可以点击这里找到,欢迎关注!

坚持原创技术分享,您的支持将鼓励我继续创作!