为什么在安装app-release.apk时flutter应用程序无法连接到Internet?但在调试模式下正常

时间:2019-04-10 02:42:06

标签: api debugging flutter release

在调试模式下,一切看起来都不错,请从我的API获取响应和数据列表。但是在我构建app-release.apk并安装到手机上之后,它显示没有互联网连接

这是我的代码

ScopedModelDescendant(

                            builder: (context, child, model) {
                              return FutureBuilder<List<Invoice>>(
                                future: model.invoices,
                                builder: (_,
                                    AsyncSnapshot<List<Invoice>> snapshot) {
                                  switch (snapshot.connectionState) {
                                    case ConnectionState.none:
                                    case ConnectionState.active:
                                    case ConnectionState.waiting:
                                      return Center(
                                          child:
                                              const CircularProgressIndicator());
                                    case ConnectionState.done:
                                      if (snapshot.hasData) {
                                        //something todo
                                      } else if (snapshot.hasError) {
                                        return NoInternetConnection(
                                          action: () async {
                                            await model.setInvoice();
                                            await getData();
                                          },
                                        );
                                      }
                                  }
                                },
                              );
                            },
                          ),

5 个答案:

答案 0 :(得分:1)

在位于AndroidManifest.xml的{​​{1}}文件中,您需要在android/app/src/main标记中添加此权限。

<manifest

答案 1 :(得分:1)

这是完整的答案:

将 Internet 许可行如下所示放在 android/app/src/main/AndroidManifest.xml

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

参考:https://flutter.dev/docs/development/data-and-backend/networking

答案 2 :(得分:0)

在包名称后添加到android / app / src / main / AndroidManifest.xml

答案 3 :(得分:0)

如果你放了

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

AndroidManifest.xml

如果它不起作用

尝试检查设备的连接。 Android装置上的行动数据或WiFi。尝试使用Chrome浏览器进行Google搜索

允许

  

8.8.8.8

在您使用的计算机的DNS设置中。

答案 4 :(得分:0)

这是一个小问题,当您退出调试模式时,通常会在android上发生。要解决此问题(如果尚不存在),只需在您的 AndroidManifest.xml 文件中并恰好在<manifest> ... </manifest>标签中添加 internet权限,您将在 main android/app/src/main文件夹中找到该文件。

权限标签:

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

enter image description here

如果此后仍然无效,则应重新检查是否 您的设备确实已连接到互联网。