我正在尝试在发出api请求之前检查互联网连接。以下是我的辅助功能,用于检查互联网
Future<bool> checkInternetConnection() async {
try {
final result = await InternetAddress.lookup('google.com');
if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
return true;
}
} on SocketException catch (_) {
return false;
}
return false;
}
以上的辅助功能在Android的调试模式下可以正常工作,但在Android的发布模式下,即使可以连接互联网,它也会返回false。我尝试了Wifi和移动数据。以上功能在iOS中正常运行。
答案 0 :(得分:1)
您需要在Flutter应用的your-flutter-app/android/app/src/main/AndroidManifest.xml
目录的android
中添加Internet权限。您的应用程序以调试模式工作,因为Internet权限必须位于your-flutter-app/android/app/src/debug/AndroidManifest.xml
<!-- Add this in src/main/AndroidManifest.xml inside android directory of Flutter app -->
<uses-permission android:name="android.permission.INTERNET"/>