dart 为什么有互联网接入问题,在一些设备的三星Flutter?

b1payxdu  于 5个月前  发布在  Flutter
关注(0)|答案(1)|浏览(70)

我正在开发一个Flutter应用程序,我需要检查互联网连接.但它是工作正常的设备,除了三星s23的其余部分,Galaxy Z Fold5.我正在检查发布的apk,并没有任何真实的设备访问这个我可以得到任何调试结果.
在AndroidManifest中,我获得了以下权限:

<uses-permission android:name="android.permission.INTERNET" />

字符串
以下是检查互联网连接的代码:

final result = await InternetAddress.lookup('example.com');

try {
    if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
        Get.snackbar('Internet', 'Navigate to Internet');
    } else {
        Get.snackbar('No Internet', 'Navigate to No Internet');
    }
} on SocketException catch (_) {
    Get.snackbar('No Internet', 'SocketException');
}


在发布模式下,它总是显示异常的snackbar。我需要显示“导航到Internet”snackbar。
我能得到任何解决方案吗?

w8biq8rn

w8biq8rn1#

似乎有an issue在 dart SDK为它.它被关闭没有修复.
这里有一个建议是使用internet_connection_checker_plus包,它似乎正好可以实现您想要实现的功能。
要使用它,请将以下内容添加到pubspec.yaml

dependencies:
  internet_connection_checker_plus: ^2.1.0

字符串
并更改您的代码以使用它:

final hasInternet = await InternetConnection().hasInternetAccess;

if (hasInternet) {
    Get.snackbar('Internet', 'Navigate to Internet');
} else {
    Get.snackbar('No Internet', 'Navigate to No Internet');
}

相关问题