我有一个要执行的网络调用。但在此之前,我需要检查设备是否具有互联网连接。
这是我到目前为止所做的:
var connectivityResult = new Connectivity().checkConnectivity();// User defined class if (connectivityResult == ConnectivityResult.mobile || connectivityResult == ConnectivityResult.wifi) {*/ this.getData(); } else { neverSatisfied(); }
以上方法无效。
连接插件在其文档中声明它仅在存在网络连接时提供信息,但在网络连接到 Internet 时不提供信息
请注意,在 Android 上,这并不能保证连接到 Internet。例如,该应用程序可能具有 wifi 访问权限,但它可能是 VPN 或无法访问的酒店 WiFi。
您可以使用
import 'dart:io'; ... try { final result = await InternetAddress.lookup('example.com'); if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) { print('connected'); } } on SocketException catch (_) { print('not connected'); }