在发布模式下检查Internet连接不起作用

时间:2019-03-30 14:10:30

标签: android dart flutter

我正在尝试在发出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中正常运行。

1 个答案:

答案 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"/>