Flutter 检测是否已连接到互联网?
文章目录
connectivity
这个插件允许Flutter应用发现网络连接并相应地配置自己。它可以区分蜂窝网络连接和WiFi连接。这个插件适用于iOS和Android。
注意,在Android上,这并不能保证连接到互联网。例如,该应用程序可能有wifi接入,但它可能是一个无法接入的VPN或旅馆wifi。
用法
///用于检查当前状态的示例用法
import 'package:connectivity/connectivity.dart';
var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
// I am connected to a mobile network.
} else if (connectivityResult == ConnectivityResult.wifi) {
// I am connected to a wifi network.
}
不过应该注意:
不应该使用当前网络状态来决定是否可以可靠地建立网络连接。始终保护您的应用程序代码,防止可能来自网络层的超时和错误。
也可以通过订阅连接插件暴露的流来监听网络状态变化: