Flutter android 应用程序没有互联网连接
Flutter android app doesn't have internet connection
我构建了一个 flutter 应用程序。我使用 url_launcher 包来导航社交链接和其他外部浏览器链接。它在 android 模拟器上完美运行。但是当我构建 apk 并将其安装在我的手机 phone 上时,URL 没有启动。甚至连网络图片都没有显示。
简单地说,我的意思是 flutter 应用程序根本无法访问互联网。我的问题是为什么相同的代码在模拟器上运行完美,而在真实设备上却不能运行?
我还检查了 android 清单文件。也没有问题。
这是 android 清单代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sri_lanka">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
这是无法在真实手机上打开的图标按钮
[1]: https://i.stack.imgur.com/TYTmU.png
这看起来像 AndroindManifest.xml 调试版本。尝试添加相同的行
<uses-permission android:name="android.permission.INTERNET"/>
到主文件夹
中的AndroidManifest.xml
我找到了解决办法:
您需要在 android 清单中添加一些额外的代码才能在真实设备上启动 URL。
您还可以参考 url_launcher 文档 https://pub.dev/packages/url_launcher
请参考此link获取详细信息https://developer.android.com/training/package-visibility/use-cases#kotlin
Sample image
并且您需要在清单文件中添加另一行代码才能在 android 移动设备上访问互联网。
就是这个 =>
<uses-permission android:name="android.permission.INTERNET"/>
这是您需要添加到 android 清单中的代码:
清单文件路径 => android\app\src\main\AndroidManifest.xml
<queries>
<!-- If your app opens https URLs -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
<!-- If your app makes calls -->
<intent>
<action android:name="android.intent.action.DIAL" />
<data android:scheme="tel" />
</intent>
<!-- If your sends SMS messages -->
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="smsto" />
</intent>
<!-- If your app sends emails -->
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="*/*" />
</intent>
</queries>
我构建了一个 flutter 应用程序。我使用 url_launcher 包来导航社交链接和其他外部浏览器链接。它在 android 模拟器上完美运行。但是当我构建 apk 并将其安装在我的手机 phone 上时,URL 没有启动。甚至连网络图片都没有显示。
简单地说,我的意思是 flutter 应用程序根本无法访问互联网。我的问题是为什么相同的代码在模拟器上运行完美,而在真实设备上却不能运行?
我还检查了 android 清单文件。也没有问题。 这是 android 清单代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sri_lanka">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
这是无法在真实手机上打开的图标按钮 [1]: https://i.stack.imgur.com/TYTmU.png
这看起来像 AndroindManifest.xml 调试版本。尝试添加相同的行
<uses-permission android:name="android.permission.INTERNET"/>
到主文件夹
我找到了解决办法: 您需要在 android 清单中添加一些额外的代码才能在真实设备上启动 URL。 您还可以参考 url_launcher 文档 https://pub.dev/packages/url_launcher
请参考此link获取详细信息https://developer.android.com/training/package-visibility/use-cases#kotlin
Sample image
并且您需要在清单文件中添加另一行代码才能在 android 移动设备上访问互联网。
就是这个 =>
<uses-permission android:name="android.permission.INTERNET"/>
这是您需要添加到 android 清单中的代码: 清单文件路径 => android\app\src\main\AndroidManifest.xml
<queries>
<!-- If your app opens https URLs -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
<!-- If your app makes calls -->
<intent>
<action android:name="android.intent.action.DIAL" />
<data android:scheme="tel" />
</intent>
<!-- If your sends SMS messages -->
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="smsto" />
</intent>
<!-- If your app sends emails -->
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="*/*" />
</intent>
</queries>